데이터 집합을 사용하여 SQL Server 데이터베이스 테이블에 대량 레코드를 삽입하려고합니다. 그러나 나는 거래 처리를 할 수 없다. 아래 코드에서 트랜잭션 처리를 적용하도록 도와주십시오.데이터 집합 기반 삽입/업데이트에서의 트랜잭션 처리
나는이을 사용하고 있지만이 줄은 객체 참조가 객체의 인스턴스로 설정되지 않았다는 오류를 제공합니다.
코드 : 데이터 어댑터가 트랜잭션을 전달하기 쉽게하지 않으며, 내부적으로 처리하지 않는 경우
string ConnectionString = "server=localhost\\sqlexpress;database=WindowsApp;Integrated Security=SSPI;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
SqlTransaction trans = conn.BeginTransaction(IsolationLevel.Serializable);
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Test ORDER BY Id", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.UpdateCommand.Transaction = trans;
// Create a dataset object
DataSet ds = new DataSet("TestSet");
adapter.Fill(ds, "Test");
// Create a data table object and add a new row
DataTable TestTable = ds.Tables["Test"];
for (int i=1;i<=50;i++)
{
DataRow row = TestTable.NewRow();
row["Id"] = i;
TestTable .Rows.Add(row);
}
// Update data adapter
adapter.Update(ds, "Test");
trans.Commit();
conn.Close();
는'adapter.UpdateCommand' 아마도'null'가 여기에있다? –