Oracle数据库访问时,用命名参数传递参数出现问题

大家都知道,在SQLSERVER中命名参数用的是@,而且在用的过程中也没发现过什么问题,但在Oracle中用的是“:”,却发现有一个问题,当命名参数是date类型时,会提... 大家都知道,在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是日期类型的。。。
若不是日期类型则不会出现问题
展开
 我来答
三根鞋带
2007-08-22 · TA获得超过2260个赞
知道大有可为答主
回答量:1156
采纳率:0%
帮助的人:0
展开全部
但在创建OracleParameter时,指定的参数名称不能使用冒号,在new OracleParameter时,ParameterName只能使用参数的字符部分

你的代码改为:
cmd.Parameters.Add(new OracleParameter("sc_dmdb_date", OracleType.DateTime));
不负好时光追梦人1002
2007-08-22 · 超过11用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:56.8万
展开全部
是的,再看下参数方面的资料
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式