繁体   English   中英

从SQL创建DataTable架构

[英]Create DataTable Schema from SQL

我想将dataadapter与datatable一起使用,以将数千条记录插入到30列的sql表中。

SqlDataAdapter adapter = new SqlDataAdapter();
DataTable table = new DataTable();
adapter.InsertCommand = new SqlCommand("INSERT INTO ...");
adapter.UpdateBatchSize = 1000;
DataRow r = null;
foreach(var entry in list) 
{
    r = table.NewRow();
    r["lastchange"] = entry.TryGet("LastChangeTime"); 
    // <- throws System.ArgumentException: Column does not belong to table
    ...
}

有没有办法不手动定义数据表的架构,而是从应该在其中插入表的表中读取它?

定义SelectCommand并应用Fill方法首先获取数据。 如果仅需要表架构,则只需进行查询即可,该查询不返回任何行。

SqlDataAdapter adapter = new SqlDataAdapter();
DataTable table = new DataTable();
adapter.SelectCommand = new SqlCommand("SELECT * FROM myTable WHERE 1=2");
adapter.Fill(table);

您可以在项目中创建/定义数据集,并可以在需要时在后续操作中使用它。

请看下面的链接,其中显示了如何将数据集添加到项目中并向其中添加表,以及如何将数据适配器与该数据集一起使用。

https://msdn.microsoft.com/zh-CN/library/04y282hb.aspx

https://msdn.microsoft.com/zh-CN/library/ms171919.aspx

https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/populating-a-dataset-from-a-dataadapter

我希望这能帮到您。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM