1

CSV ファイルをインポートする C# の Winforms があります。

最初のメソッドはそれをインポートしますが、データ接続を開いて最後を取得する 2 番目のメソッドを呼び出し、logNumberそれを返し、logNumber++各レコードに割り当て、新しい最後logNumberをテーブルに書き込みます。

この間、別のユーザーがlogNumberテーブルにアクセスできるようにしたくありません (これも で行う必要がありますbatchNumber)。私が見つけたものから悲観的ロックを使用すると、接続が開いている間だけロックされるため、2番目の方法に行くと閉じます。では、どうすればロックを維持できますか?

sqlconnectionフォームlvl( ) でを定義しようと思ったのですがpublic partial class frmCheckEntry : Form、エラーが発生しました。また、子フォームを開いて変更を加えるときに、レコード (行) (datatable次にデータグリッド ビューにロード) のロックを維持する必要があります。これはマルチユーザー システムですが、他のユーザーが、あるユーザーが作業しているレコードを持ったり、見たりできないようにする必要があります。

4

1 に答える 1

0

解決策は、接続とトランザクションを開いたままにすることです。あなたはそれをしたときにエラーが発生したと言いました。エラー メッセージを解釈して修正する必要があります。その後、それは動作します。

「ロックされた」行を IsLocked = 1 でマークすることもできます。その行を読んでいる他のユーザーは、「このアイテムは現在使用中です」などのメッセージを表示する必要があります。

于 2012-04-13T14:03:01.623 に答える