2009-06-18 4 views
2

私はFirebirdデータベースを使ってそのデータを保存するDelphiプログラムで作業します。それは自家製のo.r.mを使用しています。システム。 2人のユーザーが同じデータ(たとえばデータグリッド)を見て、あるユーザーが何かを変更すると、他の画面がすぐに更新されます。 これは、1つのプログラム内のオブジェクトがデータベースに自己のオブジェクトを格納する方法です。データベースには、この変更を補助変更ログ・テーブルに登録するトリガーがあります。この変更ログテーブルに書き込むと、イベントがトリガーされます。 2番目のプログラムはそのイベントをリッスンし、変更されたオブジェクトが変更ログテーブルのエントリからわかります。そのオブジェクトをリロードし、そのプログラムの内部でイベントを発生させます。このイベントは、このオブジェクトを表示しているすべての画面と、このオブジェクトに対する動作の基になるすべてのオブジェクトを更新します。 .NetとおそらくMS SQLに切り替えたいと思います。 私の質問は: 1)MS SQLでこれを行うにはどうすればいいですか? 2)これをサポートするフレームワークはありますか?だから私はこれを移植する必要はありません.Netマルチユーザーイベント駆動の画面更新を行う方法は?

答えて

0

これはC#で実装するのが難しいでしょうか? あなたが望むカスタムモードで「オブザーバーパターン」を試してみてください。

1

.Net Framework 2.0とMSSqlServer 2005のバージョンでは、変更通知がサポートされています。SqlDependencyクラスを使用しています。 codeprojectに例があります。

msdnの通知の使用に関するいくつかの推奨事項もご覧ください。

関連する問題