SQL语句中使用参数@

如果参数是一个数组,是不是一定要用循环让参数遍历数组中的每一个值,多次执行该SQL语句,还是有什么好方法.
那要怎么做成存储过程呢?
举个简单的例子吧,可以的话加分,谢谢
最新回答
手可摘星辰

2024-05-02 02:00:30

你不用多次执行,把多个Sql语句拼在一个字符串里然后执行就可以了。
------------------------------------------------------------------------------------------------
你的参数如果是针对同一个字段的,那用存储过程解决不了这个问题。只能拼一个字符串,例如
string[] para;//参数数组
string sql = "SELECT * FROM Table WHERE ";
for(int i=0;i<para.Length;i++)
{
//如果最后一个,不加连接词
if(i==para.Length -1)
{
sql+= "Column ="+para[i];
}
else
{
sql+="Column ="+para[i]+" or ";
}
}
叶舞霓裳

2024-05-02 09:08:03

好像是只有这个办法,.Net中没有批执行SQL语句的方法。
像个路人

2024-05-02 07:30:47

可以这样 也可以自己写个存储过程
就是把数组变成字符串让数据库拆分后存进去
蓝雨希

2024-05-02 10:33:26

sql 里有数组吗?
遍历是要的。我记得sql没有数组的。
把数组串成一个字符串传给一个存储过程,存储过程拆分并执行。
搞妇帅

2024-05-02 06:15:49

SqlConnection conn = new SqlConnection(connectoinString);
SqlCommand selectCMD = new SqlCommand("", conn);
foreach (SqlQueryParameter temppara in parameters)
{
SqlParameter sqlPara = new SqlParameter(temppara.ParameterName, temppara.PatameterValue);
selectCMD.Parameters.Add(sqlPara);
}
然后指定CommandText 执行一次就行
媤惗ら

2024-05-02 11:14:06

楼上的厉害..
打包成字符串 由查询分析器来进行分拆查询..