-
希望对您有所帮助,远程为您调试!
-
我检查了msdn,如下所示:
该方法在连接上执行 transact-sql 语句,并返回受影响的行数。
虽然 executeNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会填充数据。
对于 update、insert 和 delete 语句,返回值是受命令影响的行数。 对于所有其他类型的语句,返回值为 -1。 如果发生回滚,则返回值也为 -1
如果执行 select 子句,则数据库不会更改,并且自然会返回 -1。
返回-1是一样的。有时返回 0,因为每个人的提供者都不同,所以不是返回 0 来判断执行是否成功,而是通过返回 -1 来判断。
-
我记得 executeNonQuery() 方法不返回受影响的行数,就好像执行成功时返回 0,执行失败时返回 -1。
-
发布 SQL 语句并查看它。
-
我也在sqlconnect中发现了这个问题,似乎成功返回0,失败返回-1
-
除了 update 语句之外,您还有其他 SQL 语句吗?
-
不会是你吗? 我在这里的结果是返回的行数,至少为 1。
-
无论如何,0 不是你的程序问题,你的 SQL 语句也不是问题。 你的SQL语句在执行和修改时是否不成功,你最好复制你认为的SQL数据,你能成功修改和删除它吗?
谢谢你不厌其烦地收养!
-
朋友,executeNonQuery() 返回值本身是 int 类型,表示受影响的行数,不需要 tostring。
sql = "插入到主商店管理器类(用户名、密码、电子邮件)值('"+ +'" +textbox2 .text + "','" + textbox4 .text + "')";
sqlcommand cmd = new sqlcommand(sql, con);
if( 0)
记录已成功添加");
无法添加记录");
你遇到的问题很奇怪,tostring() 比较"1"还是真的,否则不会提示成功,也就是说cmd执行的成功影响到一行,所以无法理解。
-
我又测试了你的**,没有问题,插入会成功,数据库里有数据。 如果你的数据库里没有数据,可能是数据库有问题,我建议你直接把SQL语句放到数据库里执行,如果还是没有数据,就是数据库有问题。 如果是这样,那就是另一回事了。
-
如果数据库未刷新,请关闭数据库中打开的表,刷新它,然后再次重新打开它。
-
可能是没有设置主键。 设置主键并查看。
-
楼上,你不明白你姐姐在说什么! 劝房东去问老师! 也许数据库设置有问题,无法写入? 还是地址错误有问题?
-
我对此了解不多,但我才刚刚开始学习 C
-
ExecuteNonQuery 返回受影响的行数,如果执行 update 语句,则返回 0 表示未更新任何行。
这包括两种情况,需要更新的行确实没有命中,另一种是需要更新的行命中,但新值与旧值相同,不需要更新。 在第二种情况下,不同的数据库的行为不同,有些数据库仍会返回命中的行数,有些数据库只会返回 0。
-
;;在第一句话中,你已经执行了删除,然后再次删除参数,这样你先删除,其实程序已经返回了受影响的行数,但是你还没有收到。
可以修改为以下两种方法:
1.首先使用变量接收受影响的行数,然后返回变量的值 int count=;
2.直接返回;
-
这是因为在数据库中找不到与要求匹配的数据。
1.请使用字母,而不是汉字。
2. 字段对应的输入值,**。 trim()
运行以下 SQL 语句:
updateTable 1setb=(selectTableTableTableTableTableTableTableTableT >>>More
子函数中定义的通用指针变量会在子函数结束后自动释放,如果返回这样的局部指针变量,调用方一般无法正确读取指针地址中的数据。 >>>More