C#访问SQL选择
本文关键字:选择 SQL 访问 | 更新日期: 2023-09-27 18:01:09
系统称
"UPDATE语句中存在语法错误。">
cmd.CommandText = "Update Player set money = money + 100 where player_account = '" + origingalForm.playerAC + "'";
cmd.ExecuteNonQuery();
请帮帮我!
数据类型:money(整数(,player_account(字符串(
您没有告诉我们您的列类型与值是否完全匹配,但MONEY
是MS Access中的保留关键字。您应该将它与方括号一起使用,如[MONEY]
我知道MONEY
和money
可以是不同的关键字,这取决于系统的区分大小写选项,但据我所知,默认情况下不会访问。
作为最佳实践,请将其更改为非保留单词。
另外,不要对值使用字符串串联。请改用参数化查询。这种字符串串联对SQL注入攻击是开放的。
语句本身似乎是正确的,只有value
参数或origingalForm.playerAC
参数会导致问题。请使用ADO.Net参数系统,以确保参数将以正确的格式传递。进一步防止sql注入。请搜索这个关键词,它们被解释了很多。。。
看看这篇msdn文章,它会给你一个提示。
您的更新语法是正确的,问题出在您的变量中。在Visual Studio中的cmd.ExecuteNonQuery();
行中添加Breack Point,并检查cmd.CommandText
值。之后,如果你仍然没有发现你的错误,那么在这里发布cmd.CommandText
值,这样我就可以帮你检查了。