gpt4 book ai didi

c# - 动态 SQL 查询导致 "Unclosed quotation mark"错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:09 25 4
gpt4 key购买 nike

我收到这个错误:

Unclosed quotation mark after the character string ''.

使用以下代码:

lSQL = "DELETE FROM tblCourses where courseCode='" + aCourseCode + "'";

其中 lSQL 是局部变量,aCourseCode 是存储值。有什么建议吗?

最佳答案

您应该始终使用参数化查询,否则您的代码很容易受到错误的影响,甚至更容易受到 SQL 注入(inject)攻击。 永远不要在构建 SQL 查询时像在代码中那样使用字符串连接。正确的方法是:

using (var conn = new SqlConnection(ConnectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "DELETE FROM tblCourses WHERE courseCode = @courseCode";
cmd.Parameters.AddWithValue("@courseCode", aCourseCode);
int deletedRowsCount = cmd.ExecuteNonQuery();
}

这将确保即使 aCourseCode 变量包含一些转义字符和危险字符,它们也会被正确处理。

关于c# - 动态 SQL 查询导致 "Unclosed quotation mark"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com