C# 如何在sqlserver查询中使用整数变量?
我的sql查询有问题。我在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
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
}
我认为使用参数更好