我试图将数组参数传递给C#中的SQL commnd,如下所示,但它不起作用.有没有人见过它?
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(',');
Run Code Online (Sandbox Code Playgroud) 有没有办法获取List并将其转换为逗号分隔的字符串?
我知道我可以循环并构建它,但不知怎的,我认为你们中的一些人更酷的做法呢?
我真的想学习这些类型的"技巧",所以请解释或链接到您使用的方法的文档.
我有一个oracle存储过程,该存储过程使用以下语句更新表。
update boxes
set location = 'some value'
where boxid = passed value
Run Code Online (Sandbox Code Playgroud)
我有一个页面,用户可以选择100多个框并用新的位置值更新它们。当前,我必须调用存储过程100次以上以更新每个框(通过每次传递一个boxid)。
我想知道如何将Boxid列表从中传递C#到存储过程中,这样我就只能调用存储过程一次。
我希望在update语句中使用where in(boxids)种where子句。
请让我知道如何实现这一目标。提前致谢!