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

Sql命令中的通阵列参数

Sql命令中的通阵列参数

C#
眼眸繁星 2019-07-03 16:23:11
Sql命令中的通阵列参数我试图像下面这样在C#中将数组参数传递给SQLCommnd,但它不起作用。以前有人见过吗?string sqlCommand = "SELECT * from TableA WHERE Age IN (@Age)";SqlConnection sqlCon = new SqlConnection(connectString);SqlCommand sqlComm = new SqlCommand();sqlComm.Connection = sqlCon;sqlComm.CommandType = System.Data.CommandType.Text;sqlComm.CommandText = sqlCommand;sqlComm.CommandTimeout = 300;sqlComm.Parameters.Add("@Age", SqlDbType.NVarChar);StringBuilder sb = new StringBuilder();foreach (ListItem item in ddlAge.Items){     if (item.Selected)     {         sb.Append(item.Text + ",");     }}sqlComm.Parameters["@Age"].Value = sb.ToString().TrimEnd(',');
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

如果您可以使用像“Dapper”这样的工具,这可以是简单的:

int[] ages = { 20, 21, 22 }; // could be any common list-like typevar rows = connection.Query<YourType>(
"SELECT * from TableA WHERE Age IN @ages",
          new { ages }).ToList();

Dapper将处理对单个参数的展开。为了你.


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 383 浏览

添加回答

举报

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