110 likes | 461 Views
TableAdapter と SQLDependency 便利さを使い倒そう。 by えムナウ. TableAdapter で何が出来るか. ウィザードで接続や SQL 文を自動作成してデータベースのテーブルからデータを SELECT ・ INSERT ・ UPDATE ・ DELETE できます。 Stored Procedure を作成してデータを SELECT ・ INSERT ・ UPDATE ・ DELETE できます。 ウィザードでクエリを 追加できます。. TableAdapter のメソッド.
E N D
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 SqlDependencyでデータベースの変更をASP.NETではなくADO.NETのみで検出 SQLデータベース テーブル変更 変更の反映 Notification Service
検出側のプログラム要素 • SqlDependencyクラス StaticメソッドSqlDependency.Start 接続のリスナを開始SqlDependency.Stop接続のリスナを停止 • SqlDependencyクラスコンストラクタ SqlCommandに関連付けOnChangeイベント 通知を受け取った場合に発生
プログラムの注意点 • SELECT文はスキーマ名から指定するSELECT dbo.User.ID, dbo.User.NameFROM dbo.User • OnChangeイベントは別スレッドでも発生する BeginInvoke で自分のスレッドに通知
ディスカッションしましょう • Q/A • TableAdapterを使った感想を教えてください • SqlDependencyをどういう局面で使いましょうか?