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(字符串(

C#访问SQL选择

您没有告诉我们您的列类型与值是否完全匹配,但MONEY是MS Access中的保留关键字。您应该将它与方括号一起使用,如[MONEY]

我知道MONEYmoney可以是不同的关键字,这取决于系统的区分大小写选项,但据我所知,默认情况下不会访问。

作为最佳实践,请将其更改为非保留单词。

另外,不要对值使用字符串串联。请改用参数化查询。这种字符串串联对SQL注入攻击是开放的。

语句本身似乎是正确的,只有value参数或origingalForm.playerAC参数会导致问题。请使用ADO.Net参数系统,以确保参数将以正确的格式传递。进一步防止sql注入。请搜索这个关键词,它们被解释了很多。。。

看看这篇msdn文章,它会给你一个提示。

您的更新语法是正确的,问题出在您的变量中。在Visual Studio中的cmd.ExecuteNonQuery();行中添加Breack Point,并检查cmd.CommandText。之后,如果你仍然没有发现你的错误,那么在这里发布cmd.CommandText值,这样我就可以帮你检查了。