首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

Oracle参数化SQL话语,无法给SQL中的变量赋值

2013-01-09 
Oracle参数化SQL语句,无法给SQL中的变量赋值本帖最后由 gjw727885993 于 2012-11-28 10:20:19 编辑先把有

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天一直编译出错,今天中午突然又全部正常了,见鬼!谢谢热心的版主

热点排行