[英]Additional information: Incorrect syntax near the keyword 'where'
错误查询
错误:“其他信息:关键字'where'附近的语法不正确。”
我的鳕鱼
private void button11_Click(object sender, EventArgs e)
{
{
string connectionString = GetCString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = string.Format("INSERT INTO Sys_Users_Detail(Money) VALUES ('{0}'), where NickName ('{1}')", textBox20.Text, textBox19.Text);
using (SqlCommand cmd = new SqlCommand(query, connection))
cmd.ExecuteNonQuery();
Logger.getS().info_pc(string.Format("Foi Enviado : {0} Cps , Para : {1}", textBox20.Text, textBox19.Text));
}
}
}
错误查询:
"INSERT INTO Sys_Users_Detail(Money) VALUES ('{0}'), where NickName ('{1}')"
您确定要insert
吗? 您最有可能想要update
UPDATE Sys_Users_Detail
SET Money = {0}
WHERE NickName = '{1}'
我认为Money
是一个十进制值,因此您不应在该值两边加上引号。
同样通过使用string.Format
您也很容易受到SQL注入攻击 。 使用SqlParameter避免攻击。
这不是有效的INSERT语句。 1)INSERT不能有WHERE子句。 2) money
列可能是数字,因此不应引用该值。 这也是SQL注入的很好的示例候选人-请参阅问题下方的评论。
那不是有效的INSERT
查询。 看来您要基于NickName
更新值,而这并不是INSERT
目的。
如果是这种情况,请尝试:
UPDATE Sys_Users_Detail
SET Money = '{0}'
WHERE NickName = '{1}'
查询必须在INSERT查询中必须在INSERT查询中必须在INSERT查询中必须在INSERT中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.