首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# / Dapper -将DataTable作为存储过程的输入参数传递

C# / Dapper -将DataTable作为存储过程的输入参数传递
EN

Stack Overflow用户
提问于 2019-11-13 17:16:25
回答 1查看 932关注 0票数 1

在C#中,我使用Dapper与Server交互。我调用一个存储过程,它接受两个用户定义的表作为参数。

我将把一个DataTable传递给我的存储过程。根据这个页面,传递DataTable的语法如下所示:

代码语言:javascript
运行
复制
DataTable value = new DataTable();

DynamicParameters allParameters = new DynamicParameters();
allParameters.Add("name", value, value.AsTableValuedParameter("dbo.udt_MyTable"), ParameterDirection.Input, -1);

但是我发现了一个错误:

论点3:不能从“Dapper.SqlMapper.ICustomQueryParameter”转换为“System.Data.DbType?”

我的语法有什么问题?以上功能是否在Dapper中不起作用?

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 17:33:05

代码语言:javascript
运行
复制
using (SqlConnection con1 = new SqlConnection(connectionstring))
 {
  using (SqlCommand cmd1 = new SqlCommand("your_procedure_name"))
    {
        cmd1.CommandType = CommandType.StoredProcedure;
        cmd1.Connection = con1;                                               

    SqlParameter Param = cmd1.Parameters.AddWithValue("@parameter_name", dt);
    Param.SqlDbType = SqlDbType.Structured;
        con1.Open();
        cmd1.ExecuteNonQuery();
        con1.Close();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58842354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档