C# - 网站 - SQL Select语句

6TT*_*014 1 c# sql sqldatareader visual-studio

我想使用select语句来查找是否存在已存在的记录.我把代码放在下面,但它在dReader = comm.ExecuteReader()时抛出一个错误; 而且我不确定为什么.有帮助吗?

    string connString = "Data Source=KIMMY-MSI\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";

    SqlDataReader dReader;
    SqlConnection conn = new SqlConnection(connString);
    SqlCommand comm = new SqlCommand();
    comm.Connection = conn;

    comm.CommandText = "SELECT * FROM Customers WHERE CustomerID == " + txtID.Text;
    comm.Connection.Open();

    dReader = comm.ExecuteReader();

    if (dReader.HasRows == true)
    {
        Response.Write("Exists");
    }
Run Code Online (Sandbox Code Playgroud)

错误:

Invalid Column Name (whatever I input)
Run Code Online (Sandbox Code Playgroud)

它似乎正在寻找一个名为我输入的列,而不是寻找实际数据.

Jos*_* M. 5

改变你===.这是无效的SQL.

此外,如果txtID.Text是非数字的,那么它需要是单引号.你不应该像这样构建你的SQL,而是使用一个参数:

comm.CommandText = "SELECT * FROM Customers WHERE CustomerID = @CustomerID";
comm.Parameters.AddWithValue("CustomerID", txtID.Text);    
Run Code Online (Sandbox Code Playgroud)

更多信息

C#using语句

SQL参考

SQL注入(为什么你应该参数化你的查询)