我可以通过列表来存储过程? [英] Can I pass a list to stored procedure?

查看:78
本文介绍了我可以通过列表来存储过程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下列表

ID | DESC | PRICE 
10 | SHOE | 5000
11 | LACE | 3000
12 | GAME | 2000
13 | TOAD | 3000

我现在通过各行的foreach循环,并建立一个新的连接所有的时间,看起来不同寻常,但我希望有一个更快的方法。

I am now passing individual rows in a foreach loop, and establishing a new connection all the time, which looks unconventional but I am hoping there is a faster way.

这是code我。

foreach(var item in tempList)
{
     using (connection)
     {
        SqlCommand command = new SqlComman("StoredProc", connection);
        command.Parameters.Add(new SqlParameter("id", item.id));
        command.Parameters.Add(new SqlParameter("desc", item.desc));
        command.Parameters.Add(new SqlParameter("price", item.price));
        ...
     }
}

那么,如何通过列表来存储过程?

So how do I pass a list to a stored procedure?

推荐答案

您可以宣布在SQL Server中的自定义表数据类型,使用它作为参数传递给您的存储过程,在code。使用一个DataTable,并与行填充它。

You could declare a custom table data type in SQL Server, use that as a parameter to your stored procedure, use a DataTable in your code, and fill it with the rows.

了解更多关于 MSDN:表值参数

这篇关于我可以通过列表来存储过程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆