私は、データベースのテーブルからいくつかの外部フィールドを追加してdataTableを少し変えました。これらの行を行内にループせずに挿入する方法はありますか?dataTableの行をデータベースに挿入する簡単な方法
私のデータテーブルがデータベーステーブルと同じであれば、すばやく挿入できますか?
私は、データベースのテーブルからいくつかの外部フィールドを追加してdataTableを少し変えました。これらの行を行内にループせずに挿入する方法はありますか?dataTableの行をデータベースに挿入する簡単な方法
私のデータテーブルがデータベーステーブルと同じであれば、すばやく挿入できますか?
はい、あなたはコード
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
の下に使用してこれを行うことができますスキーマが同じであるかどうか不明です。それらがあれば、単にアダプタを作成して更新を呼び出すことができます。 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);
}