5

我想将对象或列表传递给 sql server 存储过程。我的目的是通过存储过程一次插入多条记录。

那么,有什么办法可以做到吗?

4

4 回答 4

3

您可以使用 sqlParameter。喜欢:

SqlParameter param1 = new Sqlparameter(SPVariablename , ValueofVariablewhichYouWantToPass)

任何你想要的参数 param2, param3 和最后

cmd.Parameter.add(param1)
Execute the command
于 2013-09-26T11:05:06.987 回答
2

有多种方式,例如使用 XML 和 List。但是如果你想做批量插入,你可以使用

批量插入

于 2013-09-26T10:51:23.423 回答
1

我相信在 SQLServer 2008 及更高版本中,您可以将强类型的 DataTable 参数传递给您的存储过程,您可以将 .Net DataTable 传递给该参数。

BULK INSERT 是只插入大量行的好建议,它比单次插入要快得多

用于插入分层对象数据,例如父 1 有 2 个子记录,父 2 有 3 个子记录,父 3 有 1 个子记录...我过去曾使用 XML 在传递给 SQLServer 和粉碎之前在 .Net 中序列化对象结构把它放到桌子上。当然,如果你经常做这样的事情,你可能会更好地使用实体框架或 NHibernate 等......

于 2013-09-26T11:13:06.627 回答
0

您正在搜索Table Value Parameters.It 允许您将只读表变量传递到存储过程中。

你可以从这个博客中找到好的开始。

而这个stackoverflow的老问题也可以帮助你。

于 2013-09-26T11:01:50.107 回答