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

如题所述

ExecuteNonQuery返回受影响行数,如果执行的是update语句,返回0表示没有行被更新。
这又包括两种情况,一是确实没有命中需要更新的行,二是命中了需要更新的行,但新值与旧值一致,不需要更新。第二种情况不同的数据库行为不太一样,有些仍然会返回命中的行数,有些直接返回0。
温馨提示:内容为网友见解,仅供参考
无其他回答

C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0
ExecuteNonQuery返回受影响行数,如果执行的是update语句,返回0表示没有行被更新。这又包括两种情况,一是确实没有命中需要更新的行,二是命中了需要更新的行,但新值与旧值一致,不需要更新。第二种情况不同的数据库行为不太一样,有些仍然会返回命中的行数,有些直接返回0。

C#用ExecuteNonQuery更新数据库程序,为什么返回值一直为0
反正0并不是你的程序问题,你的SQL语句也没有问题啊 。是你的SQL语句执行删改的时候没有成功,你最好复制SQL 在数据你看能修改和删除成功吗?麻烦采纳,谢谢!

...可为什么执行cmd.ExecuteNonQuery()返回的值是0?哪里出错了_百度知 ...
string sql = " Update card1 set 姓名= 'name' where 标签号 = 'cardname'";name 和 cardname 是单引号?改成 string sql = " Update card1 set 姓名= '“ + name + "' where 标签号 = '" + cardname + "'";

c#删除SQL数据库的数据,无论删除是否成功cmd.ExecuteNonQuery()的...
第一句你已经执行了删除,那么Response.Write参数中又去删除了一次,这样就造成了你先删除,实际上程序已经返回了受影响的行数,只是你没有接收到。可以修改为以下两种方法:1,先使用变量接收到受影响的行数,再返回变量的值 int count=cmd.ExecuteNonQuery();Response.Write(count);2,直接返回 Response....

c# SqlCommand对象的ExecuteNonQuery()方法返回为0,但是数据库里面却更...
对于 Update、Insert 和 Delete 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1 执行Select子句,数据库并无变化,自然返回-1。返回为-1才是没改变啊。。。有时候会返回0,是因为每个人的provider不同,所以不用返回0来判断是不是执行成功,...

用ExecuteNonQuery执行更新成功,但数据库里的值没变。。。
sqltxt的值为"update userinfo set username='yyyy', pwd='yyyy', sex='female', email='yy' where userid='32'"看样子是你的 sqltxt 写错了 执行是成功了但是没有找到 userid='32'的 所以程序没错 但没结果 一般这个ID是 自增的话 应该这样写 update userinfo set username='yyyy', pwd...

...i = cmd.ExecuteNonQuery(); i一直为0,为什么
查询的应该使用ExecuteReader,会返回你所要查询的结果。执行,如,删除,插入,更新 使用ExecuteNonQuery,若是执行成功就会返回正数。否则返回负数。

C#调用带输出参数存储过程时,输出值总是为空,请高手指点,在线等,急...
楼主,这是提示你定义的cmd在这条语句执行之前已经执行cmd.ExecuteNonQuery();这条语句执行完之后。cmd变量就是Null了,因此你再调用cmd.Parameters,就会出现为空的错误,你改下这地方再试试!!!

c# 插入数据库后ExecuteNonQuery()有返回值 但是数据表无更新
朋友,ExecuteNonQuery()返回值本身就是int类型,表示受影响的行数,没有必要ToString。sql = "insert into 总店经理类(用户名,用户密码,用户邮箱) values( '"+textBox1.Text + "','" +textBox2 .Text + "','" + textBox4 .Text + "')";SqlCommand cmd = new SqlCommand(sql, con)...

c# 处理存储过程output返回值的问题
因为ExecuteReader每次读取一行,没有和数据库断开连接,就像一个方法正在执行中,还没执行return呢。所以没值。而ExecuteNonQuery是根据条件全查出来了放在你本地内存,就像一个方法执行完一样,所以return也执行了,也就有值。返回值我一般写在添加等操作的存储过程里,查询没必要即查询结果还要在附带一个...

相似回答