c#使用Enterprise-Library

时间:2016-07-12 06:10:41

标签: enterprise-library

我们如何使用Enterprise库将数据表传递给c#中的存储过程?

我正在使用命令 cmd.AddInParameter(objDbCommand,DBAccessDetails.dataTablePrm,SqlDbType.Structured,curatedListprm); 然后问题为: 转换nvarchar值时转换失败' ZAQ'数据类型int。

表值参数" @ data"的数据不符合参数的表类型。 SQL Server错误是:245,状态:1

请告诉我我的工作和问题是什么?

1 个答案:

答案 0 :(得分:0)

首先,您需要创建用户定义的表类型

CREATE TYPE [schema].[tableName] AS TABLE(
table columns and types )
GO

然后你需要创建你的存储过程来获取值为参数的表

create procedure procName
(
@tvp dbo.tableNamereadonly
)

然后你需要通过.Net这样的东西传递你的数据表

var param = new SqlParameter("@tvp" Sqldbtype.Structured);
param.Value = {your data table}