大家都知道,在SQLSERVER中命名参数用的是@,而且在用的过程中也没发现过什么问题,但在Oracle中用的是“:”,却发现有一个问题,当命名参数是 date类型时,会提示无效的变量。
代码帖上来,大家帮我一下!
            OracleConnection con = new OracleConnection("Data Source=myTest;Persist Security Info=True;User ID=myTest; Password=myTest; Unicode=True");
            con.Open();
            OracleCommand cmd = con.CreateCommand();
            cmd.CommandText = "select * from sc_dmdb_tb where sc_dmdb_recno=:sc_dmdb_indate";
            cmd.Parameters.Add(new OracleParameter(":sc_dmdb_date", OracleType.DateTime));
            OracleDateTime time = new OracleDateTime(new DateTime(2007, 3,7));
            cmd.Parameters[0].Value=time;
            OracleDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                this.label1.Text = reader[0].ToString() + reader[1].ToString();
            }
            con.Close();
            reader.Close();
注:::上面的sc_dmdb_date是日期类型的。。。
若不是日期类型则不会出现问题
在访问Oracle用命名参数所出现的问题。
											
 
											





 
	    