TableAdapterとSQLDependency 便利さを使い倒そう。 by えムナウ
TableAdapterで何が出来るか ウィザードで接続やSQL文を自動作成してデータベースのテーブルからデータをSELECT・INSERT・UPDATE・DELETEできます。 Stored Procedureを作成してデータをSELECT・INSERT・UPDATE・DELETE できます。 ウィザードでクエリを 追加できます。
TableAdapterのメソッド DataSetを使用する Fillメソッド 指定したDataSetに読み込む GetDataメソッド DataSetを作成し読み込んで返却 Updateメソッド DataSetやDataTableのDataRow配列の変更分を自動的に更新する DataSetを使用しない Insertメソッド データを指定して追加 Updateメソッド データを指定して更新 Deleteメソッド キーを指定して削除
Partial を使いこなそう TableAdapterをFormのContainerに参加 TableAdapterの資源をDisposeする TableAdapterはダメダメか? http://www.ailight.jp/blog/mnow/archive/2006/05/28/11475.aspx StoredProcedure の戻り値を取得する TableAdapterは使いにくいのか? http://www.ailight.jp/blog/mnow/archive/2005/11/09/10046.aspx CommandTimeout を指定する 近日公開 http://mnow.wankuma.com/
SqlDependencyでデータベースの変更をASP.NETではなくADO.NETのみで検出 SQLデータベース テーブル変更 変更の反映 Notification Service
更新1対検出5
SQLServerの様子
検出側のプログラム要素 SqlDependencyクラス Staticメソッド SqlDependency.Start 接続のリスナを開始 SqlDependency.Stop 接続のリスナを停止 SqlDependencyクラス コンストラクタ SqlCommandに関連付け OnChangeイベント 通知を受け取った場合に発生
プログラムの注意点 SELECT文はスキーマ名から指定する SELECT dbo.User.ID, dbo.User.Name FROM dbo.User OnChangeイベントは別スレッドでも発生する BeginInvoke で自分のスレッドに通知
ディスカッションしましょう Q/A TableAdapterを使った感想を教えてください SqlDependencyをどういう局面で使いましょうか?