無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

書籍をつつく41−プログラミングMicrosoft ADO.NET2.0。この本しかないでしょう。

今回はADO.NETについての本を紹介するピヨ♪
プログラミングMicrosoft ADO.NET2.0 (マイクロソフト公式解説書 Microsoft Visual Studi)


【目次】
第1部 Microsoft ADO.NET 2.0の紹介
-----------------------------------------------------------
第1章 ADO.NETの概要
1.1 新規オブジェクトモデルがない
1.2 ADO.NETのオブジェクトモデル
  1.2.1 .NETデータプロバイダ
  1.2.2 別々のクラスやライブラリを使用する理由
  1.2.3 本書で対象とする.NETデータプロバイダ
  1.2.4 接続オブジェクト
  1.2.5 非接続クラス
  1.2.6 メタデータ
  1.2.7 厳密に型指定されたDataSetクラス
1.3 よく尋ねられる質問

第2章 Microsoft Visual Studio 2005を使ったADO.NETアプリケーションの初めての構築
2.1 みんなデモが好き
  2.1.1 データフォームウィザードは廃止に
2.2 コードを使用しないデータアクセスフォームの作成
  2.2.1 新規プロジェクトの作成
  2.2.2 新しいデータソースの追加
  2.2.3 データソースを使用してフォームに項目を追加する方法
  2.2.4 プロジェクトの実行
  2.2.5 フォームに関連データを追加する方法
  2.2.6 Visual Studioが生成したコードの検査
  2.2.7 開発者のほうがデザイナよりも優れたデータアクセスコードを作成できる
2.3 よく尋ねられる質問

第2部 NET データプロバイダを使って接続する
-----------------------------------------------------------
第3章 データベースへの接続
3.1 SqlConnectionオブジェクトの作成
3.2 SqlConnectionオブジェクトを開く
3.3 SqlConnectionオブジェクトを閉じる
3.4 後始末は自分で
3.5 接続文字列
  3.5.1 接続文字列とは
  3.5.2 接続文字列ビルダの導入
  3.5.3 接続文字列のセキュリティ
3.6 接続プール
  3.6.1 接続ハンドルと物理的接続
  3.6.2 接続プールとは
  3.6.3 接続プールによるコードの改善
  3.6.4 接続プールの有効化
  3.6.5 接続プールによる接続はいつ閉じられるのか
  3.6.6 接続プールの無効化
  3.6.7 接続プールについての疑問への回答
  3.6.8 ADO.NETはプールされた接続を使用するかどうかをどのように決めるのか
  3.6.9 ADO.NETに新しい接続プールを使用するよう強制する
  3.6.10 プールされた接続の手作業による解放
  3.6.11 その他の接続プールオプション
3.7 SqlConnectionを開始点として使用する
  3.7.1 SqlCommandの作成
  3.7.2 SqlTransactionsの開始
  3.7.3 スキーマ情報の取得
3.8 Visual Studioのデザイン時の機能
  3.8.1 サーバーエクスプローラでの接続の処理
  3.8.2 サーバーエクスプローラへのデータ接続の追加
  3.8.3 ドラッグアンドドロップ機能はどうなったのか
3.9 SqlConnectionオブジェクトリファレンス
  3.9.1 SqlConnectionクラスのプロパティ
  3.9.2 SqlConnectionクラスのメソッド
  3.9.3 SqlConnectionクラスのイベント
3.10 よく尋ねられる質問

第4章 データベースのクエリの実行
4.1 コード内でのSqlCommandオブジェクトの使用
  4.1.1 SqlCommandオブジェクトの作成
  4.1.2 SqlCommandによるクエリの実行
  4.1.3 行を返すクエリの実行
  4.1.4 1つの値の取得
  4.1.5 結果セットを返さないクエリの実行
  4.1.6 アクションクエリのバッチの実行
  4.1.7 XMLデータを抽出するクエリの実行
  4.1.8 トランザクションでのクエリの実行
  4.1.9 クエリの非同期実行
4.2 SqlDataReaderの操作
  4.2.1 クエリ結果の確認
  4.2.2 SqlDataReaderを閉じる
  4.2.3 結果セットのスキーマの確認
  4.2.4 序数値に基づく検索によるデータ取得の高速化
  4.2.5 厳密に型指定されたGet
  4.2.6 Null値の取り扱い
  4.2.7 SqlType
  4.2.8 クエリの複数の結果セットの処理
  4.2.9 SQL Server 2005と複数のアクティブな結果セット
4.3 パラメータクエリの操作
  4.3.1 ユーザー入力をクエリ文字列内に書式設定する
  4.3.2 クエリの組み立てとSQLの挿入
  4.3.3 パラメータクエリ
  4.3.4 ストアドプロシージャ
4.4 Microsoft Visual Studioのデザイン時の機能
  4.4.1 ドラッグアンドドロップ機能について
4.5 SqlCommand、SqlDataReader、SqlParameterのオブジェクトリファレンス
  4.5.1 SqlCommandクラスのプロパティ
  4.5.2 SqlCommandクラスのメソッド
  4.5.3 SqlCommandクラスのイベント
  4.5.4 SqlDataReaderクラスのプロパティ
  4.5.5 SqlDataReaderクラスのメソッド
  4.5.6 SqlParameterオブジェクトの作成
  4.5.7 SqlParameterクラスのプロパティ
4.6 よく尋ねられる質問

第5章 SqlDataAdapterオブジェクトを使用したデータの取得
5.1 SqlDataAdapterオブジェクトとは
  5.1.1 SqlDataAdapterと他のクエリオブジェクトの違い
  5.1.2 SqlDataAdapterクラスの構造
  5.2 SqlDataAdapterオブジェクトの作成と使用
  5.2.1 SqlDataAdapterの作成
  5.2.2 クエリからの結果の取得
  5.2.3 クエリ結果のDataSetへのマッピング
  5.2.4 バッチクエリの処理
  5.2.5 ストアドプロシージャからの行の取得
  5.2.6 スキーマ情報の取り出し
5.3 Visual Studio 2005のデザイン時の機能
  5.3.1 ドラッグアンドドロップ機能について
5.4 SqlDataAdapterリファレンス
  5.4.1 SqlDataAdapterクラスのプロパティ
  5.4.2 SqlDataAdapterクラスのイベント
5.5 よく尋ねられる質問

第3部 オフラインでのデータ処理―ADO.NETのDataSet
-----------------------------------------------------------
第6章 DataSetオブジェクトの処理
6.1 DataSetクラスの機能
  6.1.1 非接続データの処理
  6.1.2 スクロール、並べ替え、検索、およびフィルタ処理
  6.1.3 階層化されたデータの処理
  6.1.4 変更のキャッシュ
  6.1.5 XML統合
  6.1.6 一貫した機能性
6.2 DataSetオブジェクトの使用
  6.2.1 DataSetオブジェクトの作成
  6.2.2 SqlDataAdapter.Fillの呼び出しによって作成される構造の調査
  6.2.3 SqlDataAdapterによって返されるデータの調査
  6.2.4 DataSet内のデータの検証
  6.2.5 コード内でのDataTableオブジェクトの作成
  6.2.6 自動インクリメント機能の規則集
  6.2.7 DataTableの内容の変更
  6.2.8 ADO.NET 2.0のDataSetシリアル化/リモート処理オプション
6.3 Visual StudioでのDataSetオブジェクトの処理
  6.3.1 Visual Studioでの厳密に型指定されたDataSetの作成
  6.3.2 型指定のないDataSetの作成
6.4 DataSet、DataTable、DataColumn、DataRowUniqueConstraint、
     およびForeignKeyConstraintクラスリファレンス
  6.4.1 DataSetクラスのプロパティ
  6.4.2 DataSetクラスのメソッド
  6.4.3 DataSetおよびDataTableと
            ISupportInitializeNotificationインターフェイス
  6.4.4 DataSetクラスのイベント
  6.4.5 DataTableクラスのプロパティ
  6.4.6 DataTableクラスのメソッド
  6.4.7 DataTableクラスのイベント
  6.4.8 DataColumnクラスのプロパティ
  6.4.9 DataRowクラスのプロパティ
  6.4.10 DataRowクラスのメソッド
  6.4.11 UniqueConstraintクラスのプロパティ
  6.4.12 ForeignKeyConstraintクラスのプロパティ
6.5 よく尋ねられる質問

第7章 リレーショナルデータの処理
7.1 リレーショナルデータアクセスの概要
  7.1.1 結合クエリ
  7.1.2 単体のクエリの組み合わせ
  7.1.3 階層的なADO Recordsetオブジェクト
  7.1.4 ADO.NET DataRelationオブジェクト
7.2 コード内でのDataRelationオブジェクトの処理
  7.2.1 DataRelationオブジェクトの作成
  7.2.2 関連したデータの特定
  7.2.3 DataRelationオブジェクトを使用したデータの検証
  7.2.4 自己参照DataRelationshipオブジェクト
  7.2.5 多対多リレーションシップ
  7.2.6 式ベースのDataColumnオブジェクトでのDataRelationオブジェクトの使用
  7.2.7 変更の連鎖
  7.2.8 結合クエリから離れる
7.3 Microsoft Visual StudioでのDataRelationオブジェクトの作成
  7.3.1 厳密に型指定されたDataSetへのDataRelationの追加
  7.3.2 型指定のないDataSetへのDataRelationの追加
7.4 DataRelationオブジェクトリファレンス
  7.4.1 DataRelationクラスのプロパティ
7.5 よく尋ねられる質問

第8章 並べ替え、検索、およびフィルタ
8.1 DataTableクラスの検索およびフィルタ機能の使用
  8.1.1 主キーの値による行の検索
  8.1.2 さらに動的な検索の実行
  8.1.3 ワイルドカード検索の実行
  8.1.4 区切り文字の処理
  8.1.5 Selectメソッドのオーバーロードの使用
8.2 DataViewオブジェクトとは
  8.2.1 DataViewオブジェクトはDataTableからデータを返す
  8.2.2 DataViewオブジェクトはSQLクエリではない
8.3 コード内でのDataViewオブジェクトの処理
  8.3.1 DataViewオブジェクトの作成
  8.3.2 RowStateFilterプロパティの使用
  8.3.3 DataRowViewクラスの使用
  8.3.4 DataViewを通して使用できるすべてのデータ行の調査
  8.3.5 DataView内のデータの検索
  8.3.6 DataRowViewオブジェクトの変更
  8.3.7 DataViewを使用した新しいDataTableの作成
8.4 Microsoft Visual StudioでのDataViewオブジェクトの作成
  8.4.1 デザイナへの新規DataViewオブジェクトの追加
  8.4.2 DataViewオブジェクトのプロパティの設定
8.5 DataViewオブジェクトリファレンス
  8.5.1 DataViewクラスのメソッド
  8.5.2 DataViewクラスのイベント
  8.5.3 DataRowViewクラスのプロパティ
  8.5.4 DataRowViewクラスのメソッド
8.6 よく尋ねられる質問

第9章 厳密に型指定されたDataSetオブジェクトとTableAdapterの処理
9.1 厳密に型指定されたDataSet
9.2 厳密に型指定されたDataSetオブジェクトの作成
  9.2.1 難しい方法
  9.2.2 簡単な方法
9.3 厳密に型指定されたDataSetオブジェクトの使用
  9.3.1 行の追加
  9.3.2 行の検索
  9.3.3 行の編集
  9.3.4 NULLデータの処理
  9.3.5 階層化されたデータの処理
  9.3.6 DataSet、DataTable、およびDataRowのその他の機能
  9.3.7 独自のコードを追加する
9.4 厳密に型指定されたDataSetオブジェクトを使用する場合
  9.4.1 ソフトウェアコンポーネントとスイス製アーミーナイフ
  9.4.2 デザイン時の利点
  9.4.3 実行時の利点
  9.4.4 その他の注意点
  9.4.5 手作業によるテーブルと列の追加
  9.4.6 DataSetを改良する
9.5 TableAdapterについて
  9.5.1 TableAdapterの作成
  9.5.2 TableAdapterの使用
  9.5.3 クエリをさらに追加する
  9.5.4 独自のコードを追加する
  9.5.5 TableAdapterの限界
9.6 方法の選択
9.7 よく尋ねられる質問

第10章 データベースの更新の実行
10.1 パラメータ付きのSqlCommandを使用した更新の反映
  10.1.1 新しい行の追加
  10.1.2 既存の行の更新
  10.1.3 既存の行の削除
  10.1.4 このあと必要なもの
10.2 SqlDataAdapterの使用による更新の反映
10.3 SqlDataAdapterオブジェクトの使用による更新の反映
10.4 手作業でSqlDataAdapterオブジェクトを構成する
  10.4.1 バインドされたパラメータ
  10.4.2 更新を実行するためのストアドプロシージャの使用
  10.4.3 独自の更新ロジックの作成
10.5 SqlCommandBuilderを使用した更新ロジックの生成
  10.5.1 SqlCommandBuilderが更新ロジックを生成する方法
  10.5.2 SqlCommandBuilderを使用する同時実行オプション
  10.5.3 SqlCommandBuilderを使用することの利点と欠点
10.6 Visual StudioのTableAdapter構成ウィザードを使用した更新ロジックの生成
  10.6.1 TableAdapterの更新ロジックの調査
  10.6.2 更新ロジックの構築の選択肢
  10.6.3 更新を実行するためのストアドプロシージャの使用
  10.6.4 ウィザードを使用する利点と欠点
10.7 やっぱりDataAdapter
  10.7.1 データアダプタ構成ウィザードの起動
  10.7.2 SqlDataAdapterの使用による単純なデータアクセス層の作成
10.8 SqlTransaction内での更新の実行
  10.8.1 TableMappingsコレクションの使用
  10.8.2 最善の更新方法
10.9 SqlCommandBuilderオブジェクトリファレンス
  10.9.1 SqlCommandBuilderクラスのプロパティ
  10.9.2 SqlCommandBuilderクラスのメソッド
10.10 よく尋ねられる質問

第11章 さらに進んだ更新のシナリオ
11.1 更新後の最新情報の取得
  11.1.1 データベース更新後のDataRowの内容の更新
  11.1.2 バッチクエリを使用した更新後のデータの取得
  11.1.3 出力パラメータによる新しいデータの取得
  11.1.4 DataAdapterクラスのRowUpdatedイベントを使用した
              データベース更新後のデータ取得
  11.1.5 RefreshAfterUpdateのサンプルコード
11.2 新しく生成された自動インクリメント値の取得
  11.2.1 SQL Serverでの処理
  11.2.2 Accessデータベースでの処理
  11.2.3 Oracleのシーケンスによる処理
  11.2.4 自動インクリメント値を取得するサンプルアプリケーション
11.3 階層化された変更の反映
  11.3.1 保留状態の挿入および削除の反映
  11.3.2 自動インクリメント値とリレーショナルデータの処理
11.4 変更の分離と再統合
  11.4.1 GetChangesメソッドを使った帯域幅の節減
  11.4.2 変更の分離と再統合を実装したサンプルコード
11.5 失敗した更新の処理
  11.5.1 競合への対応
  11.5.2 ユーザーへの失敗の通知
  11.5.3 競合している行の現在の内容の取得
  11.5.4 最初はうまくいかなくても...
  11.5.5 競合に関するサンプルアプリケーション
11.6 分散トランザクションの処理
  11.6.1 トランザクションコーディネータとリソースマネージャ
  11.6.2 .NET Frameworkでの分散トランザクション
  11.6.3 分散トランザクションのデータベースサポート
  11.6.4 コンポーネントのビルド
  11.6.5 System.Transactionsのサンプル
11.7 バッチクエリ
  11.7.1 トランザクションとバッチ更新の併用
  11.7.2 UpdateBatchSizeに適した値の選択
  11.7.3 イベント
  11.7.4 行の最新状態の取得
  11.7.5 バッチ更新のサンプル
11.8 SQL一括コピー
  11.8.1 SqlBulkCopyオブジェクトの作成
  11.8.2 サーバーへのデータの書き込み
  11.8.3 データと宛先テーブルの対応関係
  11.8.4 SqlBulkCopyOptions列挙体
  11.8.5 BulkCopyのサンプルコード
11.9 DataSetオブジェクトとトランザクション
  11.9.1 DataSetオブジェクトとトランザクションに関するサンプルコード
11.10 ADO.NETを使用して、さらに高度な更新シナリオに対応する
11.11 よく尋ねられる質問

第12章 XML データの処理
12.1 XMLとデータアクセスの橋渡し
12.2 XMLデータの読み込みと書き出し
  12.2.1 DataSetクラスのXMLメソッド
  12.2.2 スキーマの推定
  12.2.3 XMLドキュメントのスキーマに影響を与えるADO.NETプロパティ
  12.2.4 変更のキャッシュとXMLドキュメント
12.3 DataSet + XmlDocument = XmlDataDocument
  12.3.1 XmlDataDocumentクラスの使用
  12.3.2 XMLドキュメントとしてのDataSetへのアクセス
  12.3.3 XMLドキュメントの更新のキャッシュ
12.4 SQL Server 2005のXML機能の使い方
  12.4.1 SQL Server 2005のXMLデータ型
  12.4.2 XPathクエリを実行してデータを取り込む
  12.4.3 XQueryを使ってクエリ結果をXMLとして出力する
12.5 SELECT ... FOR XMLによるSQL Server 2000からXMLデータの取得
12.6 SQL XML .NETデータプロバイダ
  12.6.1 SqlXmlCommandを使用したXmlDocumentへのデータのロード
  12.6.2 SqlXmlAdapterを使用したDataSetへのデータのロード
  12.6.3 テンプレートクエリの使用
  12.6.4 XPathクエリの使用
  12.6.5 XSLT変換の適用
  12.6.6 更新の反映
12.7 ADO.NETとXMLの簡単なサンプル
  12.7.1 2つの道、1つの行き先
  12.7.2 ADO.NETとXML:お似合いのカップル
12.8 よく尋ねられる質問

第4部 ADO.NET 2.0による効果的なアプリケーション開発
-----------------------------------------------------------
第13章 Windowsベースのアプリケーションの効率的な開発
13.1 データバインドを使用したユーザーインターフェイスの迅速な構築
  13.1.1 ステップ1:厳密に型指定されたDataSetの作成
  13.1.2 ステップ2:簡単なバインドコントロールの追加
  13.1.3 ステップ3:データの取得
  13.1.4 ステップ4:結果内の移動
  13.1.5 ステップ5:項目の追加と削除
  13.1.6 ステップ6:変更内容の反映
  13.1.7 ステップ7:[編集]、[確定]、[取消し]の各ボタンの追加
  13.1.8 ステップ8:子テーブルのデータの表示
  13.1.9 ステップ9:同一のデータソースへの別フォームのバインド
  13.1.10 ステップ10:ユーザーインターフェイスの改良
  13.1.11 ステップ11:開発者が自分でコードを用意する場合
  13.1.12 データバインドのまとめ
13.2 アプリケーション設計に関する考慮事項
  13.2.1 必要なデータのみを取得する
  13.2.2 更新方法の策定
  13.2.3 接続方法の策定
  13.2.4 BLOBデータの処理
  13.2.5 ADO.NETを活用したユーザーインターフェイスの構築
13.3 よく尋ねられる質問

第14章 Web アプリケーションの効率的な開発
14.1 Webアプリケーションの概要
  14.1.1 Webアプリケーションの作成を容易にするASP.NET
  14.1.2 ステートレスの利点と欠点
14.2 データベースへの接続
  14.2.1 統合セキュリティによる接続
  14.2.2 Accessデータベースの操作
14.3 ASP.NET 1.0でのデータベース操作の難点
14.4 データソースコントロールの導入
  14.4.1 SqlDataSourceコントロールによるデータ表示
  14.4.2 SqlDataSourceコントロールの各種機能
14.5 ラウンドトリップ間でのデータのキャッシュ
  14.5.1 ステートレスのアプローチ状態を管理しない
  14.5.2 クライアントでのデータのキャッシュ
  14.5.3 Webサーバーの状態管理
  14.5.4 SQL Server 2005のNotification Servicesの使い方
  14.5.5 データベースでの状態管理
  14.5.6 状態管理に関するガイドライン
14.6 ページ分割
  14.6.1 GridViewコントロールのページ分割機能
  14.6.2 DataAdapterクラスのページ分割機能
  14.6.3 ページごとのデータを返すクエリの作成
14.7 よく尋ねられる質問

第15章 SQL Server 2005の共通言語ランタイム統合
15.1 SQL Serverを拡張する旧来の方式―拡張ストアドプロシージャ
15.2 SQL Serverを拡張する新しい方式―CLR 統合
15.3 Microsoft Visual Studio 2005によるSQL CLRコード作成の簡略化
  15.3.1 SQL Serverプロジェクトのプロパティの設定
  15.3.2 プロジェクトのビルドと配置
  15.3.3 プロジェクトの項目の追加
  15.3.4 SQLスクリプトによるプロジェクトのテスト
15.4 SQL CLRの実例
  15.4.1 データ検証のためのスカラ関数の作成
  15.4.2 集計関数の作成
  15.4.3 コンテキスト接続による現行データベースのクエリ
  15.4.4 SQL CLRのテーブル値関数の作成
  15.4.5 ストアドプロシージャからクエリ結果を返す
  15.4.6 ストアドプロシージャのパラメータでデータを返す
15.5 SQL CLRのユーザー定義型の作成
  15.5.1 SQL CLRのユーザー定義型に組み込む機能
  15.5.2 ユーザー定義型のメソッドとプロパティの公開
  15.5.3 クライアントアプリケーションでのユーザー定義型の使用
15.6 まとめ
15.7 よく尋ねられる質問

付録A その他の.NETデータプロバイダの使用
A.1 プロバイダファクトリモデル
  A.1.1 ADO.NETの共通インターフェイスの制限事項
  A.1.2 以前の制限事項に対応したプロバイダファクトリモデル
  A.1.3 プロバイダファクトリモデルの制限事項
  A.1.4 データベーススキーマの検出機能
A.2 ODBC .NETデータプロバイダ
  A.2.1 OdbcConnectionを使用したデータベースへの接続
  A.2.2 OdbcCommandによるクエリの実行
  A.2.3 OdbcDataAdapterによるクエリ結果の取得
  A.2.4 データベースのスキーマ情報の取得
A.3 OLE DB .NETデータプロバイダ
  A.3.1 OleDbConnectionによるデータベース接続
  A.3.2 OleDbCommandによるクエリの実行
  A.3.3 OleDbDataAdapterによるクエリ結果の取得
  A.3.4 データベースのスキーマ情報の取得
A.4 Oracle Client .NETデータプロバイダ
  A.4.1 OracleConnectionによるOracleデータベースへの接続
  A.4.2 OracleCommandによるクエリの実行
  A.4.3 OracleDataAdapterクラスの使用
  A.4.4 データベースのスキーマ情報の取得

索引



この本ほどADO.NETについて詳しい邦書は無いと思うピヨ♪だからADO.NETはこの本だけで大丈夫ピヨね♪だけど、幾つか注意するべきことがあるピヨ♪
それは2.0対応だと言う事と、個別のプロバイダについての説明は無い事ピヨ。現在は3.5が出現し、ADO.NETも少し変更があるからそれについてはMSDNをよく読んだほうがいいピヨ。後、オラクルなどのプロバイダ固有の情報は殆ど無いから、プロバイダ固有の情報を深く知りたい人は、別に本を買うかMSDNをじっくり読むしかないとピヨ。その2点だけ注意していれば、この本だけでADO.NETはOKだと思う。
ただし、初心者向けだとは思わないから、初心者は違う本を読んでからこの本を読んだほうがいいかもしれない。ボクは別に困らなかったけど、初心者は違うだろうから一応警告しておくね。
別窓 | 書籍レビュー | コメント:0 | トラックバック:0 | ∧top | under∨
<<中の人の徒然草99 | 無差別に技術をついばむ鳥 | 書籍をつつく40−エッセンシャルWF。WFの必読書。>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |