Day03-1
目的
- データアクセスコントロールでデータベース連携を実現しよう。
リレーショナルデータベース
- そんなもんわかっているので省略
データ型について
| データ型 | 値の範囲(説明) |
|---|---|
| INT | 整数(-2^31~2^31-1) |
| BIT | ビット(0 or 1) |
| FLOAT | 浮動小数点 |
| DATETIME | 日付時刻 |
| DATE | 日付 |
| TIME | 時刻 |
| VARCHAR(n) | 文字列(n <= 8000) |
| NVARCHAR(n) | Unicode対応の文字列(n <= 4000) |
制約
- PRIMARYKEY制約、NOT NULL制約
データアクセスコントロール
- 定型的な一覧/単票レイアウトを作成する。
概要
- データベースサーバなどから取得した内容に基づいて、グリッド表や連続した単票、リストなどを生成するためのサーバコントロール
データアクセスコントロールとデータソースコントロールを利用することで、リストの生成はもちろん、データの編集/削除、ソート、ページングなどの機能を
限りなくコーディングレスで実現できる。
ASP.NET 3.5で利用可能なデータアクセスコントロール
| コントロール | 概要 | 新規登録 | 更新/削除 | ページング | ソート |
|---|---|---|---|---|---|
| GridView | グリッド表 | × | ○ | ○ | ○ |
| DetailsView | テンプレート固定の単票ビュー | ○ | ○ | ○ | × |
| FormView | 自由形式の単票ビュー | ○ | ○ | ○ | × |
| ListView | 自由形式のリスト | ○ | ○ | ○ | × |
| DataList | 自由形式のリスト | × | ○ | ○ | × |
| Repeater | 自由形式のリスト | × | × | × | × |
DataList、Repeaterについては、ListViewコントロールが追加されているため、使う機会があまりない。
データベース接続文字列は構成ファイル(web.config)に保存する
- 下記の手順で設定を行う
- データソース構成ウィザード > アプリケーション構成ファイルに接続文字列を保存
- 「はい。この接続を次の名前で保存します。」にチェックを入れ、接続名を指定する。
-
上記の手順を行うと、下記の様なコードが
web.configに記述される。<add name="MyDB" connectionString="Data Source=\.SQLEXPRE SS;" AttachDbFilename=|DataDirectory|\AspNet10.mdf; Integrated Security=True;User Instance="True" providerName="System.Data.SqlClient" />
解説
<connectionStrings>内の、<add>要素が1つのデータベース接続情報を表している。
データベース接続文字列で利用可能なパラメータ名
| パラメータ名(別名) | 概要 | デフォルト |
|---|---|---|
| Application Name | アプリケーション名 | .NET SQLClient, Data Provider |
| AttachDBFileName(Initial File Name) | データベースのファイルのパス | - |
| Connect Timeout(Connection Timeout) | 接続タイムアウト時間(秒) | 15 |
| Data Source(Server) | 接続するSQL Serverのホスト名 | - |
| Encrypt | SSL暗号化を使用するか | False |
| Initial Catalog(Database) | データベース名 | - |
| Integrated Security(Trusted_Connection) | Trueの場合はWindows認証、Falseの場合はSQL Server認証 | False |
| MultipleActiveResultSets | MARS(Multiple Active Result Set)を有効にするか | False |
| Packet Size | ネットワークパケットのサイズ(バイト) | 8192 |
| Password(Pwd) | SQL Server認証で使用するパスワード(非推奨) | - |
| Persist Security Info | パスワードなど機密性の高い情報を接続文字列として返すか | False |
| Type System Version | アプリケーションで想定されるシステム型 | - |
| User ID | SQL Server認証で使用するユーザID(非推奨) | - |
| USer Instance | ユーザインスタンスを有効にするか | False |
MARS(Multiple Active Result Set)
- 1つの接続上で複数のSELECT命令を実行できる機能のこと
|DataDirectory|
- アプリケーションルート直下の「App_Data」フォルダを表す。
アプリケーションフォルダ
アプリケーションフォルダ
- ASP.NETによってあらかじめ名前と用途が決められたフォルダのこと。
- アプリケーションフォルダにはHTTP経由でアクセスすることができなくなっている。
ASP.NETで利用可能なアプリケーションフォルダ
| フォルダ名 | 概要 |
|---|---|
| App_Browsers | ブラウザの機能情報を定義した.browserファイル。 |
| App_Code | ビジネスロジックを記述した.vb .csファイル |
| App_Data | データベースファイルや設定ファイルなど |
| App_GlobalResources | アプリケーション共通で利用可能なリソース |
| App_LocalResources | 特定のページから利用可能なリソース |
| App_Themes | アプリケーション共通のデザインを規定するテーマ情報 |
| App_WebReferences | XML Webサービスで利用する設定ファイル |
| Bin | コンパイル済みのアセンブリ dllファイル |
GridViewコントロールの主なプロパティ
«««< HEAD
- GridViewコントロールの主要なプロパティをまとめる。
=======
8944544c9aac9193892b92458f1c99fdfc59cbca
表示
プロパティ|概要 ———-|—- BackImageUrl|背景画像 Caption|キャプション «««< HEAD CaptionAlign|キャプションの配置(Left, Right, Top, Bottom) EmptyDataText|データがない場合に表示するテキスト GridLines|グリッド線の表示方法(Horizontal, Vertical, Both) PagerSetting|ページャの設定(見栄えや挙動) ======= CaptionAlign|キャプションの配置 EmptyDataText|データがない場合に表示するテキスト GridLines|グリッド線の表示方法 HorizontalAlign|水平方向の配置 PagerSettings|ページャの設定
8944544c9aac9193892b92458f1c99fdfc59cbca ShowFooter|フッタを表示するか ShowHeader|ヘッダを表示するか
挙動
プロパティ|概要 ———-|—- «««< HEAD AllowPaging|ページング機能が有効化 AlowSorting|ソート機能が有効化 ======= AllowPaging|ページング機能が有効か AllowSorting|ソート機能が有効か
8944544c9aac9193892b92458f1c99fdfc59cbca PageSize|ページあたりに表示されるレコード数
情報
プロパティ|概要 ———-|—- «««< HEAD DataKeyNames|主キーを表すフィールド名 EditIndex|編集行のインデックス PageCount|ページ数 PageIndex|ページ番号 ======= DataKeyNames|主キーを表すフィールド名(配列) EditIndex|編集行のインデックス PageCount|ページ数
8944544c9aac9193892b92458f1c99fdfc59cbca SelectedIndex|選択行のインデックス SelectedValue|選択行の主キー値
スタイル
プロパティ|概要 ———-|—- HeaderStyle|ヘッダ行の外観 RowStyle|データ行の外観 AlternatingRowStyle|交互に表示されるデータ行 SelectedRowStyle|選択行の外観 EditRowStyle|編集行の外観 «««< HEAD FooterStyle|フッタ魚の外観 PagerStyle|ページャの外観 EmptyDataRowStyle|データが空の場合の外観
まとめ
- データアクセスコントロールを利用することで、グリッド表や単票、リスト形式のレイアウトをコーディングレスで実装することが可能
- GridViewコントロールを利用することで、データの編集や削除、ソート、ページングなどの機能を備えたグリッド表を作成可能
- データベース接続文字列のようにアプリケーション共通で利用する情報は、構成ファイル(web.config)を記述することでデータ変更時の影響を最小限に抑えることができる。
-
アプリケーションルート直下には、あらかじめASP.NETによって用途を定められたアプリケーションフォルダを配置することが可能
FooterStyle|フッタ行の外観 PagerStyle|ページャの外観 EmptyDataRowStyle|データが空の場合の外観
まとめ
- データアクセスコントロールを利用することで、グリッド表や単票、リスト形式のレイアウトをコーディングレスで作成可能。
GridViewコントロールを利用することで、データの編集や削除、ソート、ページングなどの機能を備えたグリッド表を作成可能。- データベース接続文字列のようにアプリケーション共通で利用する情報は、構成ファイルに記述することでデータ変更時の影響を最小限に抑えることができる。
- アプリケーションルートの直下には、あらかじめASP.NETによって用途を決められたアプリケーションフォルダを配置することが可能。
8944544c9aac9193892b92458f1c99fdfc59cbca
以上