sql = "UPDATE Report" + " SET FinalPer ='" + per + "' WHERE Cno='" + cno + "' AND Sno='" + sno + "' AND Ryea ='" + ryea + "'";在winform运行会报错Normal附近语句有问题,该怎么解决。sql语句在sql中可以运行
时间: 2024-03-03 17:51:53 浏览: 117
数据库菜鸟不可不看 简单SQL语句小结
这个错误可能是因为您在 WinForm 中使用的语法不正确导致的。建议您使用参数化查询来构建 SQL 语句,这样可以避免 SQL 注入攻击,同时也可以防止您在构建 SQL 语句时出现语法错误。
您可以尝试使用以下代码:
```
string sql = "UPDATE Report SET FinalPer = @per WHERE Cno = @cno AND Sno = @sno AND Ryea = @ryea";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@per", per);
command.Parameters.AddWithValue("@cno", cno);
command.Parameters.AddWithValue("@sno", sno);
command.Parameters.AddWithValue("@ryea", ryea);
connection.Open();
int result = command.ExecuteNonQuery();
if (result > 0)
{
// 成功更新记录
}
else
{
// 更新记录失败
}
}
```
在这个代码中,我们使用了参数化查询,将变量值分别传入 SQL 语句中的参数中。这样可以避免 SQL 注入攻击,并且可以让 SQL 语句更加清晰易懂。
阅读全文