读书人

Oracle参数化SQL话语无法给SQL中的变

发布时间: 2013-01-09 09:38:15 作者: rapoo

Oracle参数化SQL语句,无法给SQL中的变量赋值
本帖最后由 gjw727885993 于 2012-11-28 10:20:19 编辑 先把有问题的代码上上来,问题就出现在cmd.Parameters.Add的时候,失败了,没有把SQL中的变量替换掉


public bool CheckUser(string username)

{
DataSet ds = new DataSet();
string sql = "select * from mes_user where username=:user";
conn.Open();
OracleCommand cmd = new OracleCommand(sql,conn);
cmd.Parameters.Add(new OracleParameter("user",username)); //问题在这里
OracleDataAdapter da = new OracleDataAdapter(cmd);
da.Fill(ds);
if (ds.Tables[0].Rows.Count>0)
{
return true;
}
else
{
return false;
}
}


下图是错误信息


用下面这种类似写法,问题依旧

OracleCommand cmd = new OracleCommand(sql, conn);
cmd.Parameters.Add("user", OracleType.VarChar).Value = username;


有没有大师可以帮我解决一下
[最优解释]
什么意思,你那不是已经加进去了么,count=1
[其他解释]
引用:
什么意思,你那不是已经加进去了么,count=1


可是实际上,我那个 select * form mes_user where username=:user

这个:user并没有被我ADD进去的值替换掉,返回的结果集是空的
[其他解释]
自己搞定了,好几种写法都是对的,但是2天一直编译出错,今天中午突然又全部正常了,见鬼!谢谢热心的版主

读书人网 >Web Service

热点推荐