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

时间:2019-04-02 09:04:37

标签: 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 title = number", sqlconn);

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

3 个答案:

答案 0 :(得分:2)

我建议使用参数来避免使用SQL Injection

可能看起来像这样。

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

    //read data
}

答案 1 :(得分:0)

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

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);

答案 2 :(得分:0)

这是一个非常基本的问题,只需将其谷歌搜索即可轻松解决。

无论如何,您想在此处使用参数化的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);