为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
杨__羊羊 2022-11-22 16:03:38

我的 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?


查看完整描述

3 回答

?
互换的青春

TA贡献1511条经验 获得超6个赞

我建议使用参数来避免SQL 注入

可能看起来像这样。

using (SqlCommand command = new SqlCommand("SELECT * FROM table WHERE title = @Number", connection))

{

    command.Parameters.Add(new SqlParameter("@Number", int.Parse(textbox.Text)));


    //read data

}


查看完整回答
反对 回复 6天前
?
动漫人物

TA贡献0条经验 获得超10个赞

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


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


查看完整回答
反对 回复 6天前
?
ITMISS

TA贡献1533条经验 获得超8个赞

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


不管怎样,你想在这里使用参数化的 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);


查看完整回答
反对 回复 6天前
  • 3 回答
  • 0 关注
  • 5 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信