William R. Vaughn 著
伊藤 由起子 監修
株式会社 トップスタジオ 訳
出版社 翔泳社
ISBNコード:4-7981-0400-0
【はじめに】
2004/7 のINETA-Japan のリーダーズミーティングで、ブックレビューを行うことになり、持ち寄り+出版社のご好意により、50冊ほど集まりました。この中で、好きな本を持って帰って、レビューをしましょうと言うことになりました。このとき、この本の監修をされた伊藤さんも来られていて、この伊藤さんが監修する本は一体どんな本なのだろう??ということで、選びました。
で、選んだ後から、INETA-Japan の懇親会の席で「今度この本をブックレビューすることにしたんだ!」ってAI-LIGHTさんへ説明したら、『えっ?VB.NET の本をレビューをするの?』って言われました。あわててよく見ると、『えっ”、こっ、これって、「VB.NET」じゃん!』って、気がついたしだいでした。
とはいえ、選んでしまった後なので、『VB.NETもC#も、アセンブリになればみな同じ!』というのりで、レビューすることにしました。^^;
それはさておき、早速中身に入ります。
【読み始めて驚いた!】
まずは、読み始めて驚きましたね!!専修講座と書いてあるだけあって、レベルが高い!初心者向きじゃないです。はっきり言って、中級以上です。
VB,ASPで苦労されてきた人たちが読むと、きっと『うん、うん、そうだよね!』となると思います。勧めの対象読者は、VB, ASP の経験者で、かなりできる人です。初心者には、全く向いていません。また、読み物風になっていて、リファレンス的に使うのは難しいと思います。ピンポイントで調べたいという忙しい人には向いていません。じっくり読む時間がある時に読む本です。
IMHO(意見)、BP(一番いいやり方)、TIP(チップス)、NOTE(メモ)、Sample(サンプルコードの場所)、Warning(警告) などの吹き出しがあり、わかりやすくなっています。ただし、英語の本にありがちな、図が少なく、文字が多くなっています。またフォントも小さめなので、本の厚さの割りに、中身が非常に濃いです。
【各章の構成】
第1章 ADO.NETの概要
これまでの歴史的な流れ(VB, ASP, ADO⇒VB.NET, ASP.NET,ADO.NET)と、どのような理由でこれらの変化が起きたのかを説明しています。その上で、ADO.NET全体のアーキテクチャ、インフラストラクチャ、主要クラス、.NETデータプロバイダー、既存COMの扱い方、System.Data名前空間、ADO.NETの低レベルデータストリームについての説明がなされていきます。 自分のように、VB、ASP, ADO なんて知らない人にとっては、???だらけになってしまいます。逆に、VB, ASP, ADOは知っているけど、VB.NET, ASP.NET, ADO.NETって、どうしてそんなことするのよ!!って思っている人には、ぴったりだと思います。
あと、あまりたいしたことではないのですが、章の構成の問題点としては、章の番号までしか振られていな いのと、文字が多い読み物風なので、いまどの階層にいるのか時々混乱 してします。
第2章 接続
この章の主目的は、どのデータプロバイダを使うかと言うことで 、OLEDB.NETプロバイダ、SqlClient、Odbc.NET、従来のADOの4つを比較、説明しています。
具体的な節の構成は、.NETデータプロバイダの選択、ADO.NET のConnectionオブジェクトの作成、SqlClient.NETデータプロバイダの接続、トランザクションの管理、ODBC.NETデータプロバイダの接続、コードで接続を作成する方法、接続の終了、.NETでCOMベースのADOを使うから構成されています。
各データプロバイダでのコネクションストリングの注意、接続プールの注意など、MSDNをあさっても きれいにまとまった情報が出てこないので、とても役に立つ情報が満載されています。
第3章 コマンド
ADO.NETのSELECT文などのコマンドの作成方法、パラメータクエリ、ストアドプロシージャの作成方法、データセットの作成方法、結果セットの扱い方などをウィザードなどを利用して作成する方法が述べられています。また、最後に、結果セットの最適なアクセス方法についても述べられています。どのようなアクセス方法を取るかで相当パフォーマンスに効いていることも解説されています。
第4章 データリーダー、第5章 データテーブルとデータセットの使用
ADOとADO.NETの比較、DataReader, DataTable, DataSetについての説明です。ADOから何が変わったのかを中心に、ADO.NETではどのように扱うべきかが述べられています。
ADOからADO.NETへ移行しようとしている人には必見でしょう。
第6章 フィルタ、並べ替え、検索
Selectを使ったフィルタと並べ替えの方法、DataView, Findメソッドの使い方が書かれています。
ところが、この著者は、IDEでDrag&Dropを使うことが嫌いで、プログラムと文字での説明が延々と続いて、いいかげんうんざりします。確かにコードを理解するうえでは、IDEを使わずに説明したほうがいいのかもしれませんが、説明とコードだけが延々と続きます。ビジュアルデザイナを駆使してという説明はほとんどありません。図解も少ないので、読み進む上では、忍耐力が必要です。
第7章 更新、第8章 制約
7章では、データベースのデータの更新、8章では制約をプログラミングする方法について述べられています。
これらの章では、データベースについて細かいこと(永続化、ロック、制約、エラー処理など)がわかっていることを前提に書かれています。このため、データベースのことをある程度わかっていないと、とても読めないと思います。
第9章 エラー管理
この章は、Try/Catch, SqlException, OleDbException などの使い方が述べられています。このあたりの説明まで解説している本が少ない中で、なかなか良心的です。
第10章 ADO.NETとXML
文字通りADO.NETとXMLの関係、さらにはXML Webサービスの話まで解説しています。中身的にもDiffGramとかDataSetをXML Webサービスで受け渡しする例など、結構目が@@になります。
【ADO.NET関連書籍】
【総括】
この本は、初心者の人は手を出してはいけません。
また、ADO, VB を知らない人は、よけい混乱するので避けたほうがいいでしょう。ADO, VBからADO.NET, VB.NETへ移行しようとしている、プロ向けの本です。この本を読みこなせば、かなりノウハウが得られると思います。
また、忙しい開発の合間に、リファレンスとして使う本ではありません。じっくり読める環境で、読んでください。
この本を監修した伊藤さんに脱帽!!
2004/8/13