C# 如何在sqlserver查询中使用整数变量?

C# 如何在sqlserver查询中使用整数变量?,c#,sql-server,C#,Sql Server,我的sql查询有问题。我在sqlserver中有一个数据库 int number = int.Parse(textbox.Text); var sqlconn = new SqlConnection(@"Server=(localdb)\MSSQLLocalDB; AttachDbFileName=|DataDirectory|db.mdf;"); sqlconn.Open(); var sqlcomm = new SqlCommand("SELECT * FROM table WHERE ti

我的sql查询有问题。我在sqlserver中有一个数据库

int number = int.Parse(textbox.Text);
var sqlconn = new SqlConnection(@"Server=(localdb)\MSSQLLocalDB; AttachDbFileName=|DataDirectory|db.mdf;");
sqlconn.Open();
var sqlcomm = new SqlCommand("SELECT * FROM table WHERE title = number", sqlconn);

正确的语法是什么:title=number?

您可以通过以下操作内联添加整数

var sqlcomm = new SqlCommand("SELECT * FROM table WHERE title = " + number.ToString(), sqlconn);
也可以将其作为参数添加,如下所示:

var sqlcomm = new SqlCommand("SELECT * FROM table WHERE title = @num", sqlconn);
sqlcomm.Parameters.AddWithValue("@num", number);

这是一个非常基本的问题,你可以通过谷歌搜索轻松解决

无论如何,您希望在这里使用参数化SQL命令

var sqlcomm = new SqlCommand("SELECT * FROM table WHERE title = @number", sqlconn);
SqlParameter param = new SqlParameter();
param.ParameterName = "@number";
param.Value = int.Parse(textbox.Text);
sqlcomm.Parameters.Add(param);

我建议使用参数来避免

可能看起来像这样

using (SqlCommand command = new SqlCommand("SELECT * FROM table WHERE title = @Number", connection))
{
    command.Parameters.Add(new SqlParameter("@Number", int.Parse(textbox.Text)));

    //read data
}

我认为使用参数更好