[英]Automatically define the DataTable in C# from the schema of SQL server tables?
[英]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
我希望这能帮到您。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.