1

データベースのビューから表示されたデータを継続的に更新する必要があるアプリケーションを作成しています。現在、定期的にデータ セット全体をポーリングし、再表示しています。私はそれをより効率的にするために変更しており、これを最も効果的に行う方法について人々の意見に興味があります.

アプリケーションは Windows フォーム アプリケーションであり、DataGridView を使用してデータを表示します。データベース サーバーは SQL Server 2008 です。

SQL Server の変更追跡機能について読んでいて、それが関連するかどうか疑問に思っていますか? 誰かがここでとるべき良いアプローチを提案できますか? 現在選択されている行の状態やスクロール バーの位置に影響を与えずに、アプリケーションで行を挿入、更新、および削除する必要があります。

ありがとう!

4

2 に答える 2

1

最も簡単な方法は、タイムスタンプ列でクエリを実行することです。アプリを初めて実行すると、データセット全体がクエリされ、最大のタイムスタンプが記憶されます。次に、クエリでポーリングしwhere timestamp > @currentTimestamp、再度記憶します。

于 2010-08-10T16:22:45.783 に答える
0

この問題に取り組んでいた場合、次のように検討します。

  1. SQL Server データベース プロジェクトを作成する
  2. プロジェクトにトリガーを追加する
  3. そのクラスに、おそらく MSMQ を使用して、関心のあるアプリまたは
  4. その SQL Server クラスにイベント ハンドラーを登録することを検討してください...それがどのように機能するか、または機能するかどうかはわかりませんが、トリガーからアプリにイベントを発生させることが理想的です

必要に応じてより具体的にすることもできますが、それが一般的なアプローチです

SQL Server プロジェクトのトリガーに関する情報: http://msdn.microsoft.com/en-us/library/938d9dz2.aspx

于 2010-08-10T16:58:50.190 に答える