您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> .NET >> C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0

C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0

来源:网络整理     时间:2016/6/7 16:09:10     关键词:executenonquery

关于网友提出的“C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0”问题疑问,本网通过在网上对“C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0
描述:

/////为查询参数赋值,调用更新函数          
 DataSet ds = adminmanage.GetAllAdminByName(adminmanage, "tb_admin");
            string strAdminID = ds.Tables[0].Rows[0][0].ToString();
            purviewmanage.ID = strAdminID;
            purviewmanage.SysSet = ((CheckBox)(gvAdminPurview.Rows[e.RowIndex].Cells[1].Controls[0])).Checked; 
purviewmanage.UpdatePurview(purviewmanage);
//////更新函数
   public int UpdatePurview(PurviewManage purviewmanage)
    {
        OleDbParameter[] prams = {data.MakeInParam("@id",  OleDbType.VarChar, 50, purviewmanage.ID),data.MakeInParam("@sysset",  OleDbType.Boolean,2,purviewmanage.SysSet ),};
        return (data.RunProc("update tb_purview set sysset=@sysset where id=@id", prams));
    }
/////执行更新查询
       OleDbCommand cmd = CreateCommand(procName, prams);
        int t = (int)cmd.ExecuteNonQuery();
        if (t == 1)
            Console.WriteLine("连接成功!"); 
        else


解决方案1:

引用 9 楼 qianmianwang1 的回复:
我测试的就是数据表中的一条数据,至少应该返回1吧

你还没有明白这个方法返回值的意思.
返回受影响的行数. 
如果你的 执行语句 一条也没有更新到. 就会返回0 . 解决方案2:

data.MakeInParam("@sysset",  OleDbType.Boolean,2,purviewmanage.SysSet )
你的赋值中有这样一段.
如果该值是 bool 类型.  就不能用 sysset=1 的形式,
尝试 true or false


以上介绍了“C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1580463.html

相关图片

相关文章