本書は、初めてWeb-DBアプリケーション開発に携わる人にも分かるように、ASP.NETをゼロからやさしく解説した入門書です。「とにかく動かしてみよう!」を合言葉に、サンプルアプリケーションは短く分かりやすいコードで作成。さらに作成したサンプルアプリケーションの実運用に必須のセキュリティやパフォーマンスの向上策、アプリケーションをより使いやすく高機能にするためのASP.NETのTipsも紹介するなど、実践的なテクニックを満載しています。
トップセラー「SQL Server 2000でいってみよう」の著者が贈る、ASP.NETによるWeb-DBアプリケーション開発解説書の決定版です。
本書は月刊DB Magazineの人気連載「ASP.NETで作るかんたんDBアプリ教室」を加筆/再編集し、書籍としてまとめたものです。
Chapter 1 ASP.NETの概要とインストール
ASP.NETの特徴
ASP.NETと.NET Framework
ASP.NETに必要なもの
IISのインストール
Visual Studio .NET 2003のインストール
無償のASP.NET開発ツール~Web Matrix~
おわりに
Chapter 2 ASP.NETの開発手法
Visual Studio .NET 2003の基本操作
Web Matrixの基本操作
Webサーバーコントロールの利用方法
ポストバック~イベントの仕組み~
おわりに
Chapter 3 クラスライブラリの利用方法
クラスライブラリとは
VB/VBScriptユーザーのために
C#かVB .NETか?
おわりに
Chapter 4 SQL ServerとMSDEの基本操作
SQL Server 2000の基礎知識
SQL Serverデータベースのバックアップと移動
SQL Serverのセキュリティ(認証)
MSDE 2000~無償のデータベースエンジン~
MSDE 2000の基本操作
おわりに
Chapter 5 ADO.NETによるデータベースアクセスの基本
ADO.NETとは
ADO.NETからSQL Server/MSDEの利用
接続エラーの回避方法~ASPNETはログインできませんでした~
Web MatrixでADO.NETを利用
SqlDataReaderのReadメソッド
データバインド(データ連結)
その他のデータベースサーバーへの接続~Oracle/Access/Excel~
おわりに
Chapter 6 ADO.NETの応用~接続プーリング/SQLのパラメータ化/更新系SQLの実行~
SqlConnectionの使い方と接続プーリング
SQL文の動的生成
SQLのパラメータ化~SQLインジェクション対策~
SQLのパラメータ化
更新系SQLの実行
おわりに
Chapter 7 ADO.NETからストアドプロシージャの実行
ストアドプロシージャについて
ADO.NETからストアドプロシージャの実行
出力パラメータの扱い
IDENTITY値の取得
RETURNコードの扱い
トランザクションの扱い
VB .NETでの例外処理
おわりに
Chapter 8 ページをまたがった変数の扱い/ページ移動/DataGridの基本操作
ショッピングサイトを作りながらASP.NETを学ぼう!
ページをまたがった変数の扱い
クエリ文字列(Query String)
DataGridを使ったクエリ文字列の動的生成
Repeaterコントロール
List系のコントロールとページ移動
おわりに
Chapter 9 買い物カゴの実装(Cookie+データベース)、DataGridの応用
商品一覧ページ
GUIDの取得~一意なID~
Cookieとは
ASP.NETからCookieを操作
GUIDをCookieに書き込む
“買い物カゴ”テーブルの作成
買い物カゴの実装~kago.aspxファイルの作成~
ここでのまとめ
買い物カゴから商品を削除する機能~DataGridのボタン列/ItemCommandイベント~
ボタンを画像ファイルにする~DataGridのテンプレート列~
買い物カゴの数量を更新できるようにする
数量の一括更新
任意のページから買い物カゴを参照できるように
おわりに
Chapter 10 検証コントロールによる入力チェック
検証コントロールとは
RequiredFieldValidatorコントロール
CompareValidatorコントロール
RangeValidatorコントロール
RegularExpressionValidatorコントロール
CustomValidatorコントロール
ValidationSummaryコントロール
おわりに
Chapter 11 ログイン認証の実装~フォーム認証~
ショッピングサイトでのログイン認証の実装例
新規会員登録ページの作成~Register.aspx~
ASP.NETのフォーム認証
ログインページの作成~Login.aspx~
認証チケットの発行~SetAuthCookieメソッド~
おわりに
Chapter 12 セキュアなWebアプリケーション
「クロスサイトスクリプティング」脆弱性
.NET Framework 1.1のHttpRequestValidatorException例外
クロスサイトスクリプティング対策~Server.HtmlEncode~
クエリ文字列の偽造
Cookieも偽造可能
Session変数は絶対に安全か?
画面遷移制御とReferer
フォーム認証での認証チケットは安全?
セキュリティ対策のまとめ
おわりに
Chapter 13 出力キャッシュとユーザーコントロール
Webページ全体のキャッシュ
出力キャッシュの設定~@OutputCache~
Webページの部分的なキャッシュ
ユーザーコントロール(.ascx)
出力キャッシュの監視
おわりに
Chapter 14 ASP.NETのTIPS集
TIPS 1 和暦を表示する~CultureInfo~
TIPS 2 半角⇔全角、ひらがな⇔カタカナ変換~StrConv~
TIPS 3 文字列連結を高速に処理する~StringBuilder~
TIPS 4 正規表現を利用して文字を強調表示する~RegEx~
TIPS 5 Webブラウザを判別する~Request.Browser~
TIPS 6 環境変数の取得~Request.ServerVariables~
TIPS 7 n秒後に別ページへ自動ジャンプ~Refresh~
TIPS 8 「処理中です」ページの表示~Server.Transfer~
TIPS 9 Session変数を使った画面遷移制御
TIPS 10 ボタンの二度押し対策
TIPS 11 別のクラスからRequest/Response/Sessionを利用する
TIPS 12 Webページからメールを送信する~SmtpMail~
TIPS 13 イベントビューアへログを記録する~EventLog~
TIPS 14 PDFやExcelファイルを表示する~ContentType~
TIPS 15
Chapter 15 ADO.NETのTIPS集
TIPS 1 ADO.NETの接続文字列をWeb.Configファイルへ格納する
TIPS 2 SQL Serverに対して別名を設定する
TIPS 3 IISとSQL Serverが別マシンの場合の対処法~(null)のログインに失敗~
TIPS 4 楽観的(オプティミスティック)ロックの実装~SqlDataReader~
TIPS 5 確認メッセージの表示~confirm~
TIPS 6 アクセサメソッドでパフォーマンス向上
TIPS 7 日付(datetime型)の取得~GetDateTimeメソッドの注意点~
TIPS 8 NULLの扱い~IsDBNull、DBNull.Value~
TIPS 9 ページングの実装~n件ずつ表示~
TIPS 10 BLOBデータ(imageデータ型)の登録(INSERT)
TIPS 11 BLOBデータ(imageデータ型)の取得(SELECT)
おわりに
Chapter 16 ADO.NETのDataSet
DataSet vs SqlDateReader
DateSetを使ってみよう~データアダプタ構成ウィザード~
SqlDataAdapterのFillメソッドの内部動作
DataGridの編集機能と楽観的ロック
楽観的ロックと同時更新違反
DataSetのキャッシュ
ページング機能~n件ずつ表示~
DataSetのフィルタ/並べ替え~DataView~
DataSetをウィザードを利用せずに使用する
DataSetのXML機能
まとめ
コラム
Windows XP Home EditionではASP.NETが試せない?
IISを後からインストールしてしまった場合
レイアウトモード
Webサーバーコントロールやページ自身もクラス
SQL Server認証と認証モード
Northwind/pubsデータベースの権限は特殊
全角のユーザー名だとMSDEのインストールに失敗!
IISとSQL Serverが別マシンの場合の接続エラー~ユーザー'(null)'のログインに失敗しました~
SqlConnectionとSqlCommandのコンストラクタ
プロパティを使ったパラメータ作成
プロシージャキャッシュとは
Visual Studio .NETはEnterprise Managerの代わりになる
Transact-SQLについて
Transact-SQLに例外処理機能はない
SET NOCOUNT ON
ADO.NETでのトランザクションの記述
Request.QueryStringはコレクション
SELECT*を避ける
ViewStateを無効化しておこう
商品の画像はタグで
Container.DataItem、DataBinder.Evalの役割は?
DataListコントロール
永続的なCookieの書き込み
Visual Studio .NETで複数のファイルを作成するには
Session変数は無効にしておく?
同じ商品を追加するとPRIMARY KEY制約違反が発生!
テンプレート列のその他の用途
EnableClientScriptプロパティとクライアント側検証
クエリアナライザ/osqlでOUTPUTパラメータを取得する
emailアドレス列にインデックスを作成しよう
html/画像/PDF/Officeファイルはチェック対象にならない
Webサーバーの負荷分散環境で認証チケットを利用する方法
パスワードを暗号化して格納する方法
クライアントサイドスクリプトとは
telnetをWindows XP/Windows Server 2003で試す場合
Cookieの中身を参照する
VaryByParam属性の注意点
Panelコントロールでレイアウト
Web Application Stress Tool
Me/thisを使って入力ミスを防ぐ
Session変数利用時の注意点
DataTableでパフォーマンスの良い書き方は?
タグやDataGridをExcelファイルへ表示する
TIPS 16 クライアントサイドスクリプト(JavaScript)を追加する
おわりに
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 075 上から2行目 |
2刷 | 未 |
|
2005.04.22 | ||||||
1刷 | 109 「ExecuteNonQueryメソッド」上から1行目 |
未 | 未 |
|
2021.04.01 | ||||||
2刷 | 143 LIST8.1 6行目 |
3刷 | 未 |
|
2005.05.13 |
itchy1976 さん
2005-12-12
http://blog.goo.ne.jp/itchy1976/e/a7bbc54ddb8c3322f1f659756e49f480