特集:前編 Visual Studio 2005日本語版ベータ早期レビューdev .NET(6/6 ページ)

» 2004年08月25日 15時10分 公開
[大澤文孝,ITmedia]
前のページへ 1|2|3|4|5|6       

データベース機能の強化

 表2表3に示したコントロールの中で、特に充実されたのがデータベースサポート機能だ。たとえば、GridViewコントロールは、列として、テキストボックスやチェックボタンだけでなく、画像やコンボボックスとして表示できるようになった(画面11)。

 従来までは表形式でデータを表示する際、画像を表示するためにはサードパーティのコントロールを利用するか、カスタム化されたコントロールを自作しなければならなかった。そのことを考えると、これだけでも、VS2005を使う価値があるかもしれない。

画面11■WindowsフォームにおけるGridViewコントロールの例

 またWebアプリケーションにおいては、1レコードずつ表示できるDetailsViewコントロールも提供された。DetailsViewコントロールを使えば、画面12のように、レコードをひとつずつ表示し、編集するユーザーインタフェースを提供できる。

画面12■DetailsViewコントロールの例

 そしてWebアプリケーションにおいては、データバインディングの手順が簡単になったという点も補足しておく必要があるだろう。

 従来は、Webアプリケーションにおいては、データを表示する前に、データベースからレコードを取得して、取得したデータを表示するためには次のような手順が必要だった。

1. SqlDataAdapterコントロールなどを用いて、そのFillメソッドを呼び出して、レコードの内容をDataSetオブジェクトにデータバインディングする。

2. データバインディング内容を描画することをコントロールに伝えるため、DataBindメソッドを呼び出す。

 また従来は、ユーザーがWebフォーム上のテキストボックスなどで変更した際、その変更後の値を読み取り、データベースに書き戻すには、開発者によるコーディングが必要であり複雑だった。しかし、VS2005では、「SqlDataSource」や「AccessDataSource」などのコントロールを使うことで、データバインディングの処理が簡単になっている。

 SqlDataSourceやAccessDataSourceなどのコントロールは、従来のDataSetオブジェクトの代わりとして利用するコントロールだ。これらのコントロールには、レコードを参照するためのSELECTクエリのほか、更新のためのINSERT、UPDATE、DELETEのクエリもオプションで設定できる。

 ページが表示される時には、自動的にSELECTクエリが実行され、データベース上のレコードが取得される。そして、何らかのコントロールにデータバインディングされている場合には、取得したデータの内容がコントロール表示する。このため、開発者は明示的にDataBindメソッドを呼び出す必要がなくなったのだ。

 またINSERT、UPDATE、DELETEのクエリをきちんと設定しておき、データバインディングしているコントロールが更新可能な状態にしておいた場合には、ユーザーがレコード値を編集した際、その編集後の内容が、自動的にデータベースへ書き戻されるようになった。

 たとえば、開発者は、画面12のようなDetailsViewコントロールでレコードを編集させる場合、1. DetailsViewコントロールに対して編集を許可する設定にしておく、2. DetailsViewコントロールのデータバインディング先の「SqlDataSource」や「AccessDataSource」のコントロールにINSERT、UPDATE、DELETEのクエリを設定しておく、という2つの操作さえ行えば、まったくコードを記述することなく、ユーザーにデータベースの編集機能も提供することが可能なのだ。


データベースの編集機能は、DetailsViewコントロールだけでなく、データバインディング可能な他のコントロールにも実装されている。

 そのため、データベースを使うWebアプリケーションを構築する場合には、VS2005を使うことで、大幅にコーディング量を削減できるのは、間違いないだろう。

 次回後編は、VS2005の大きな特徴のひとつであるアプリケーション配布の新たな手段、ClickOnceなどについて解説していく(後編へ)。

前のページへ 1|2|3|4|5|6       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ