首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SqlAdapter发送数据表

使用SqlAdapter发送数据表
EN

Stack Overflow用户
提问于 2019-05-25 05:59:01
回答 1查看 41关注 0票数 0

我有接收sql字符串的DataSet方法,如下:

代码语言:javascript
运行
复制
 public DataSet GetDataSet(string sql, string TableName)
        {
            this._Errors = false;
            SqlDataAdapter da = new SqlDataAdapter(sql.ToString(), this.dbconn);
            da.SelectCommand.CommandTimeout = 0;
            DataSet ds = new DataSet();
            try
            {
                da.Fill(ds, TableName);
                return ds;
            }
            catch (SqlException e)
            {
                this.HandleSQLError(e, "GetDataSet", sql);
                return null;
            }
        }

这可以正常工作,但是现在我想在sql中以Table Variable的形式发送DataTable来接收。

使用SqlCommand很简单,如下所示:

代码语言:javascript
运行
复制
SqlCommand cmd = new SqlCommand(sprocName, this.dbconn);

    cmd.Parameters.Add(new SqlParameter(customerTypeTableName, SqlDbType.Structured));
    cmd.Parameters[customerTypeTableName].Value = customerTypeList;

如何修改才能使用SqlAdapter方法做同样的事情?问候

EN

回答 1

Stack Overflow用户

发布于 2019-05-26 15:55:13

我想你应该写一个新的函数。不需要使用DataAdapter。一个SqlCommand类型的对象就足够了,如以下代码片段所示。

代码语言:javascript
运行
复制
    comm.Parameters.AddWithValue("@tvpEmails", dt); // dt is your DataTable
// your UDDT type should exist on your SQL instance under UDDT types
    comm.Parameters[comm.Parameters.Count - 1].TypeName = "your UDDT type";
    comm.Parameters[comm.Parameters.Count - 1].SqlDbType = SqlDbType.Structured;
    comm.ExecuteNonQuery();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56299956

复制
相关文章

相似问题

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