如何将表值参数从.NET代码传递给存储过程我有一个MSSQLServer 2005数据库。在一些过程中,我将表参数作为nvarchar(用逗号分隔)传递给存储的proc,并在内部划分为单个值。我将它添加到SQL命令参数列表中,如下所示:cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo";我必须将数据库迁移到SQLServer 2008。我知道有表值参数,我知道如何在存储过程中使用这些参数。但我不知道如何在SQL命令中将一个参数列表传递给参数列表。是否有人知道Parameters.Add程序?或者还有其他方式传递这个参数?
3 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
DataColumn
Ordinal
table-valued parameter
CREATE TYPE NodeFilter AS TABLE ( ID int not null Code nvarchar(10) not null,);
table.Columns["ID"].SetOrdinal(0);// this also bumps Code to ordinal of 1// if you have more than 2 cols then you would need to set more ordinals
手掌心
TA贡献1942条经验 获得超3个赞
public static DataTable ToTableValuedParameter<T, TProperty>(this IEnumerable<T> list, Func<T, TProperty> selector) { var tbl = new DataTable(); tbl.Columns.Add("Id", typeof(T)); foreach (var item in list) { tbl.Rows.Add(selector.Invoke(item)); } return tbl; }
- 3 回答
- 0 关注
- 730 浏览
添加回答
举报
0/150
提交
取消