gpt4 book ai didi

c# - 异常 : Incorrect syntax near the keyword 'AND'

转载 作者:行者123 更新时间:2023-11-30 13:58:51 25 4
gpt4 key购买 nike

我正在使用 C# 和 SQL Server 2008 制作一个管理程序。我想一次使用血型、地区和俱乐部名称搜索记录。这就是造成问题的原因:

    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Table2 
WHERE @Blood_Group =" + tsblood.Text + "AND @District =" + tsdist.Text +
"AND Club_Name =" + tscname.Text, Mycon1);

谁能告诉我正确的语法是什么?提前 Tnx。 :)

最佳答案

正确的语法是使用参数化查询,并且在构建 SQL 查询时绝对不要使用字符串连接:

string query = "SELECT * FROM Table2 WHERE BloodGroup = @BloodGroup AND District = @District AND Club_Name = @ClubName";
using (SqlDataAdapter sda = new SqlDataAdapter(query, Mycon1))
{
sda.SelectCommand.Parameters.AddWithValue("@BloodGroup", tsblood.Text);
sda.SelectCommand.Parameters.AddWithValue("@District", tsdist.Text);
sda.SelectCommand.Parameters.AddWithValue("@ClubName", tscname.Text);
...
}

这样您的参数将被正确编码并且您的代码不易受到 SQL 注入(inject)攻击。结帐bobby tables .

另请注意我如何将 IDisposable 资源(例如 SqlDataAdapter)包装到 using 语句中,以确保即使在出现异常时也能正确处理它,并且您的程序不会泄漏非托管句柄。

关于c# - 异常 : Incorrect syntax near the keyword 'AND' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15053715/

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