将dataTable行插入数据库的简便方法

时间:2011-12-09 09:23:45

标签: c# insert datatable

我有一个dataTable与数据库表中的其他一些外部字段略有不同。有没有办法在没有循环的行中插入这些行?

如果我的数据表与数据库表相同,我可以快速插入吗?

2 个答案:

答案 0 :(得分:0)

我不确定你的问题是否相同。如果是,那么您只需创建一个适配器并调用更新。使用ODBC的示例...

public void Update(DataTable table)
{
OdbcConnection connection = new OdbcConnection(...);
OdbcDataAdapter adapter = new OdbcDataAdapter("SELECT * FROM TABLENAME", connection);

OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter);
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.InsertCommand = builder.GetInsertCommand();
adapter.DeleteCommand = builder.GetDeleteCommand();

adapter.Update(table);
}

答案 1 :(得分:0)

是的,你可以使用下面的代码

来做到这一点
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConsoleApplication3.Properties.Settings.daasConnectionString"].ConnectionString))
{
  cn.Open();

  using (SqlBulkCopy copy = new SqlBulkCopy(cn))
  {
    copy.ColumnMappings.Add(0, 0);
    copy.ColumnMappings.Add(1, 1);
    copy.ColumnMappings.Add(2, 2);
    copy.ColumnMappings.Add(3, 3);
    copy.ColumnMappings.Add(4, 4);

    copy.DestinationTableName = "tNorthwind";

    copy.WriteToServer(dt);
  }
}  

http://www.codeproject.com/KB/database/DataTableToDataBase.aspx