系统说
“UPDATE语句中的语法错误。”
cmd.CommandText = "Update Player set money = money + 100 where player_account = '" + origingalForm.playerAC + "'";
cmd.ExecuteNonQuery();
请帮助我!
数据类型:money(整数),player_account(string)
答案 0 :(得分:1)
您没有告诉我们您的值的列类型是否完全匹配,但MS Access中的$('.staff').click(function(){
if($(this).hasClass('clicked')){
$('.staff').finish().animate({width:'33%'}, 0, function() {
$("[id^=text]").fadeOut()
});
} else {
$('.staff').not(this).finish().animate({width:'0%'});
$(this).finish().animate({width:'100%'}, 0, function() {
$("[id^=text]").fadeIn()
});
}
$(this).toggleClass('clicked');
});
是reserved keyword。您应该使用方括号,如MONEY
我知道[MONEY]
和MONEY
可以根据系统区分大小写的选项设置不同的关键字,但据我所知,默认情况下不能访问。
作为最佳做法,请将其更改为非保留字。
也不要为您的值使用字符串连接。请改用parameterized queries。这种字符串连接对SQL Injection攻击开放。
答案 1 :(得分:0)
它本身的陈述似乎是正确的,只有value
参数或origingalForm.playerAC
参数才会导致问题。请使用ADO.Net参数系统,以确保参数将以正确的格式传递。更进一步阻止sql注入。请搜索这个关键字,他们被解释了很多...
看看这个msdn article,它会给你一个提示。
答案 2 :(得分:0)
您的更新语法是正确的,问题出在您的变量中。
在Visual Studio中添加 cmd.ExecuteNonQuery();
一行的Breack Point,然后选中 cmd.CommandText
值。
完成后如果您仍然没有发现错误,请在此处发布cmd.CommandText
值,以便我为您检查。