记忆中 ExecuteNonQuery 返回的是受影响的行数. ex : update t1 set name = '1' where id = '100'
如果此时 db 中没有 id = '100' 的数据. 那么此时就会 返回 0 .
对呀,我设的id就是第一条记录的id,也就是说受影响的有1条数据,至少应该返回1,为什么没有呢
return (data.RunProc("update tb_purview set sysset=1,readset=1,bookset=1,borrowback=1,sysquery=1 where id='1'", prams));//return (data.RunProc("update tb_purview set sysset=@sysset,readset=@readset,bookset=@bookset,borrowback=@borrowback,sysquery=@sysquery where id=@id", prams));上面那条赋具体值,运行顺利,t=1,但改回下面那条后就t=0,我在用断点调试过程中,发现在界面设的值都传进到id,sysset,readset,bookset,borrowback,sysquery里去了,但就是cmd.ExecuteNonQuery返回值为0,无语啊
我 赋值参数后return (data.RunProc("update tb_purview set sysset=1,readset=1,bookset=1,borrowback=1,sysquery=1 where id=1", prams));
提示$exception {"标准表达式中数据类型不匹配。"} System.Exception {System.Data.OleDb.OleDbException}
你给的是int 类型. 看看 数据库中这几个字段的类型是否都对应到了.
就不行呢
如果此时 db 中没有 id = '100' 的数据. 那么此时就会 返回 0 .