DataSourceコントロールを使ったデータアクセス
ASP.NET2.0から導入されたDataSourceコントロールなんですが,なんとなく分かったような分からないような?ちょっとこの場で整理しようと思います.
データストアにあるデータの表示に,データバインドを使おうと思っています.しかしDataViewとかを使う気はあまりありません.たぶん<%# 〜 %>のような単純データバインドに文字列を埋め込む形式になると思います.なぜそうするかというと……まぁいろいろあるわけですが,それについては書かないことにします.
単純データバインドに埋め込む文字列は,データストアからのデータをもとに複雑な加工をする予定です.DataSourceコントロールを使ったデータアクセス〜加工・表示は,
- DataSourceコントロールを画面に配置して,ConnectionStringやSelectCommandなどを設定
- コードビハインド側で,DataSourceコントロールに対応するDataSourceViewsを作成
- DataSourceSelectArgumentsでSort順などを設定,DataSourceViewSelectCallbackでSelect発行時にコールバックされるメソッドを登録
- Select発行
- コールバックメソッド内でデータを加工し,表示用の文字列を作成
- DataBind
といった流れでいいのかな?と思っているのですが……本当に大丈夫か?
結構心配なんですよねー.たとえば,
- DataSourceコントロールを画面に配置って……う〜ん,なんかやだ.できればデータアクセス層に置いておきたい.
- DataSourceコントロールはWhere句の個数分必要?そんなわけないと思うんだけど,今日の調査では情報が見つからず.そういうものなのかなー?
- データ加工時に,別のデータソースが必要になった場合どうするか?コールバックで動作するものを制御可能か?逆に,そういうことが起こらないような状態にしておくのか?
さすがに,この辺情報が少なくて手探り状態です.もうちょっとがんばればいい感じになりそうなんだけど……