我有一个问题,即使经过数小时的调试,我显然也找不到解决方案。
我有一个简单的 SQL 命令,我想用某个值更新一行(该值是大约 ~5mb 的文本),执行 SQL 命令后,C# 代码端的“ExecuteNonQuery()”返回'1' 也不异常(exception),但更改有时会反射(reflect)在数据库行中,有时不会。
我尝试调试以查看将替换旧值的值是否正确并且它们是正确的。我正在使用 MySQL 5.5.11。
- 可能是 MySQL 设置或其他什么?
我对这个问题失去了理智,如果您有任何想法,将不胜感激。
编辑,包括代码:
代码就这么简单:
cmd.CommandText = "UPDATE user SET data = @data WHERE id = @id";
然后我将参数添加到 SQL 查询的 DBCommand 对象。 “数据”大约 5mb 大。
此命令始终返回“1”,即使更改未反射(reflect)在数据库中(有时有效,有时无效):
cmd.ExecuteNonQuery();
提前致谢!
最佳答案
不知道mysql provider有没有使用autocommit?如果不是,那么您必须在连接对象上使用 BeginTransaction 获得的事务对象上调用提交。
关于C# + MySQL + ExecuteNonQuery 在更新时返回 '1' 但不在数据库中更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971226/