并非所有变量都已绑定,是怎么回事?

chenshi 2014-03-18 01:12:55
C#连接Oracle总是报错。
oleDbCommand.CommandText = " select * from t where a= :hhhh";
oleDbCommand.Parameters.Add("hhhh",OleDbType.Numeric);
oleDbCommand.Parameters[0].Value = 2;
oleDbConnection.Open();
int i = oleDbCommand.ExecuteNonQuery();
oleDbConnection.Close();

提示:ORA-01008: 并非所有变量都已绑定
...全文
748 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnnychong 2015-08-22
  • 打赏
  • 举报
回复
请问怎么解决了?跪求
baohui0130 2014-03-26
  • 打赏
  • 举报
回复
同样的问题
chenshi 2014-03-18
  • 打赏
  • 举报
回复
只有一个参数,已经赋值了呀。
本拉灯 2014-03-18
  • 打赏
  • 举报
回复
oleDbCommand.Parameters.Add(":hhhh",OleDbType.Numeric);
chenshi 2014-03-18
  • 打赏
  • 举报
回复
为什么会参数不对应?
md5e 2014-03-18
  • 打赏
  • 举报
回复
SQL Server 的变量是@,Oracle就清楚了
md5e 2014-03-18
  • 打赏
  • 举报
回复
oleDbCommand.CommandText = " select * from t where a=@hhhh"; oleDbCommand.Parameters.Add("@hhhh",OleDbType.Numeric); oleDbCommand.Parameters[0].Value = 2; oleDbConnection.Open(); int i = oleDbCommand.ExecuteNonQuery(); oleDbConnection.Close(); 还是 oleDbCommand.CommandText = " select * from t where a= :hhhh"; oleDbCommand.Parameters.Add(" :hhhh",OleDbType.Numeric); oleDbCommand.Parameters[0].Value = 2; oleDbConnection.Open(); int i = oleDbCommand.ExecuteNonQuery(); oleDbConnection.Close();
  • 打赏
  • 举报
回复
这个问题是因为你传的值和SQL语句里的参数不对应的原因

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧