c# 使用 Enterprise-Library
c# using Enterprise-Library
我们如何使用企业库将数据 table 传递给 c# 中的存储过程?
我正在使用命令
cmd.AddInParameter(objDbCommand, DBAccessDetails.dataTablePrm, SqlDbType.Structured, curatedListprm);
然后是:
将 nvarchar 值 'ZAQ' 转换为数据类型 int.
时转换失败
table 值参数“@data”的数据不符合参数的 table 类型。 SQL 服务器错误为:245,状态:1
请告诉我我做了什么,有什么问题?
首先您需要创建您的用户定义 table 类型
CREATE TYPE [schema].[tableName] AS TABLE(
table columns and types )
GO
然后您需要创建存储过程以获取 table 值参数
create procedure procName
(
@tvp dbo.tableNamereadonly
)
然后你需要通过 .Net 传递你的数据table,像这样
var param = new SqlParameter("@tvp" Sqldbtype.Structured);
param.Value = {your data table}
我们如何使用企业库将数据 table 传递给 c# 中的存储过程?
我正在使用命令 cmd.AddInParameter(objDbCommand, DBAccessDetails.dataTablePrm, SqlDbType.Structured, curatedListprm); 然后是: 将 nvarchar 值 'ZAQ' 转换为数据类型 int.
时转换失败table 值参数“@data”的数据不符合参数的 table 类型。 SQL 服务器错误为:245,状态:1
请告诉我我做了什么,有什么问题?
首先您需要创建您的用户定义 table 类型
CREATE TYPE [schema].[tableName] AS TABLE(
table columns and types )
GO
然后您需要创建存储过程以获取 table 值参数
create procedure procName
(
@tvp dbo.tableNamereadonly
)
然后你需要通过 .Net 传递你的数据table,像这样
var param = new SqlParameter("@tvp" Sqldbtype.Structured);
param.Value = {your data table}