0

SQL Server 2005 バックエンドを使用して C# でデスクトップ アプリケーションを開発しています。

2 つのテーブルに行を挿入したいのですが、table11 つの行table2が保存され、一度に 100 行を超える行が保存されます。

保存が行われている間、またはその間に電源が落ちた場合、または何らかの理由でプログラムが終了した場合、その不完全なトランザクションをデータベースに保存しないでください。ただし、トランザクションが正常に完了した場合は、データベースに保存する必要があります。

Connection.BeginTransaction()メソッドを使用しています

 clsData dSave = new clsData();
 dSave.Open(); // 
 System.Data.SqlClient.SqlTransaction tr = dSave.Connection.BeginTransaction();

clsData、 、のようSqlConnectionにいくつかの変数が宣言されているクラスであり、呼び出される varがこのクラス で宣言され、接続を開くメソッドがこのクラスで宣言されています。SqlCommandSqlAdapterConnectionOpen()

難点は、10 ~ 20 個のコマンドを実行した後、tr.Connection突然 null になり、接続がまだ開いていることです。

誰でもこの問題について私を助けることができます。

4

1 に答える 1

3
  • ストアド プロシージャ コールを使用する
  • XML またはテーブル値パラメーターを使用してデータを渡す
  • SQL Server でトランザクションを管理する

クライアント側のトランザクションでデータベース サーバーに対して 100 回以上の呼び出しを行わないでください

于 2011-08-23T07:18:33.043 に答える