将列表代替 sql 参数传递给存储过程
本文关键字:参数传递 存储过程 sql 列表 | 更新日期: 2023-09-27 18:34:47
有没有办法将列表对象作为存储过程的参数传递?
例如,
List<class1> Allobj = new List<class1>();
// assume Allobj .Count=5,(5 class1 objects)
现在将存储过程调用为
intResult = _helper.ExecuteNonQuery(base.Transaction, CommandType.StoredProcedure, "usp_InsertpurchaseEnquirydetails", Allobj );
或者有没有其他方法可以传递列表(至少添加到多维 sqlparameter 数组?
如果可能,如何传递以及如何从存储过程迭代它?
您正在寻找TableValueParameters
.从 SqlServer 2008 开始,添加了此功能。它将帮助您将DataTable
作为参数传递。
签出 msdn 中的表值参数
可以使用表值参数将表或列表传递给 SQL 存储过程
步骤简介:
1( 在 SQL 服务器管理工作室中创建表值参数
2(定义一个参数作为创建的表值参数(应该是只读的(
3( 将 C# sp 参数类型设置为 System.Data.SqlDbType.Structured
4( 将列表作为 CLR 数据表传递给存储过程
波纹管链接是一个完整的代码示例:
http://www.codeproject.com/Articles/39161/C-and-Table-Value-Parameters