我们如何使用Enterprise库将数据表传递给c#中的存储过程?
我正在使用命令 cmd.AddInParameter(objDbCommand,DBAccessDetails.dataTablePrm,SqlDbType.Structured,curatedListprm); 然后问题为: 转换nvarchar值时转换失败' ZAQ'数据类型int。
表值参数" @ data"的数据不符合参数的表类型。 SQL Server错误是:245,状态: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}