从 SQL 创建数据表架构

Create DataTable Schema from SQL

我想使用带有数据的数据适配器table 将数千条记录插入 30 列 sql table.

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
    ...
}

有什么方法可以不手动定义数据的架构table,而是从 table 中读取它,插入应该发生在?

定义SelectCommand并应用Fill方法首先获取数据。如果您只需要 table 模式,只需进行 returns 没有行的查询。

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

您可以在您的项目中 create/define 数据集,并可以在您需要的任何后续操作中使用它。

查看下方 link 展示了如何将数据集添加到您的项目并向其中添加表以及如何将数据适配器与该数据集一起使用。

https://msdn.microsoft.com/en-us/library/04y282hb.aspx

https://msdn.microsoft.com/en-us/library/ms171919.aspx

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

希望对您有所帮助。 :)