C# 資料批量插入及更新
阿新 • • 發佈:2019-02-12
*table為更新表名或插入資料表
SqlConnection conn = new SqlConnection(sqlConStr);
SqlCommand comm = conn.CreateCommand();comm.CommandTimeout = 500;
comm.CommandType = CommandType.Text;
SqlDataAdapter adapter = new SqlDataAdapter(comm);
//comm.CommandText = "select * from TestDB";
SqlCommandBuilder commandBulider = new SqlCommandBuilder(adapter);
commandBulider.ConflictOption = ConflictOption.OverwriteChanges;
try
{
conn.Open();
//設定批量更新的每次處理條數
adapter.UpdateBatchSize = 5000;
adapter.SelectCommand.Transaction = conn.BeginTransaction();/////////////////開始事務
adapter.SelectCommand.CommandText = " select * from " + table.TableName;
adapter.Update(table);
adapter.SelectCommand.Transaction.Commit();/////提交事務
}
catch (Exception ex)
{
if (adapter.SelectCommand != null && adapter.SelectCommand.Transaction != null)
{
adapter.SelectCommand.Transaction.Rollback();
}
throw ex;
}
finally
{
conn.Close();
conn.Dispose();
}