簡體   English   中英

C# / Dapper - 將 DataTable 作為輸入參數傳遞給存儲過程

[英]C# / Dapper - passing DataTable as an input parameter to a stored procedure

在 C# 中,我使用 Dapper 與 SQL 服務器進行交互。 我調用一個接受 2 個用戶定義表作為參數的存儲過程。

我正在將一個DataTable傳遞給我的存儲過程。 根據此頁面,傳遞DataTable的語法如下:

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 中不起作用嗎?

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();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM