推奨:ASPヒントの例:操作フォームのためのプログラムについて以下は、参照されるコンテンツです。ASPを使用してフォームコンテンツをデータベースに挿入します。 <% '-Loader.asp-' - バージョン1.5.2
8.3.3接続ステータスを使用します接続文字列をアプリケーション変数に保存することは一般的なトリックであり、含まれるファイルを使用するだけでなく機能します。たとえば、次のコードをGlobal.asaファイルに追加できます。
sub application_onstart()
strconn = provider = sqloledb;データソース=ウォッチャー; &_
初期カタログ=パブ;ユーザーID = Davids;パスワード=ウイスキー
アプリケーション(ConnectionString)= strconnを設定します
End Sub
ASPページでは、次のコードを使用できます。
set conpubs = server.createObject(adodb.Connection)
conpubs.application(connectionString)
個人的な観点からは、さまざまなサーバーやデータベースに接続する多くの異なる例を作成したため、付属のファイルメソッドを使用することを好みます。アプリケーション方法を使用すると、アプリケーションを再起動するたびにブラウザを閉じる必要があることがわかります。読者は好きな方法を使用でき、速度に違いはありません。
この本のこのセクションの例については、接続文字列の接続ファイルがインクルードファイルとして使用されます。
8.3.4接続構文
上記のことは、関連する理論です。本当にデータストアに接続したいときはどうすればよいですか?明示的に定義された接続オブジェクトを使用する場合、Openメソッドを使用できます。その構文は次のとおりです。
connection.open [connectionString]、[userId]、[password]、[options]
パラメーターを表8-1に示します。
表8-1オープンメソッドのパラメーターと説明
パラメーター
説明します
ConnectionString
接続の詳細を含む文字列。これは、ODBC DSNの名前、データリンクファイルの名前、または実際の接続の詳細である可能性があります
ユーザーID
接続中にユーザーが使用する名前。接続文字列で提供されるユーザー名をオーバーライドします
パスワード
ユーザーパスワード。接続文字列で提供されるパスワードを上書きします
オプション
接続が非同期に確立されていることを指定するAdasyncconnectである可能性があります。このパラメーターを無視し、同期接続を確立します
スクリプト言語はADOからイベントを受信できないため、非同期接続はASP環境では使用されません。
8.3.5接続例
ここにいくつかの例があります。ここでは、strconnに有効な接続文字列が含まれていると仮定します。
接続を開くには、接続オブジェクトの開く方法を使用します。例えば:
set conpubs = server.connection(adodb.connection)
conpubs.open strconn
'一部の処理
conpubs.close
ConnectionStringプロパティを使用することもできます。
set conpubs = server.createObject(adodb.Connection)
conpubs.connectionString = strconn
conpubs.open
'一部の処理
conpubs.close
これら2つの実装方法に違いはありません。前者の方法が接続の実装に使用される場合、接続ストリングプロパティも割り当てられます。
データストアと接続が確立されると、ADOは接続ストリングプロパティ値を変更する可能性があることに注意してください。心配しないでください、ADOはいくつかの追加の属性値のみを記入します。
8.3.6バッファープールへの接続
接続プールは常に多くの人々を混乱させますが、原則は実際には非常に単純です。接続が閉じられると、ユーザー(およびADO)の場合、接続が閉じられます。しかし、実際には、OLE DBは接続を閉じませんが、非アクティブな接続バッファープールに入れます。ユーザー(または他の人)が接続を開くと、OLE DBは最初に接続プールに同じ接続の詳細と接続があるかどうかを検出します。その場合、この接続はバッファープールから直接取得されます。そうでない場合は、ユーザーの新しい接続を作成します。リソースの無駄を避けるために、デフォルトの期間後にバッファープールから接続がクリアされます。
それで、その利点は何ですか?接続を開くことはおそらく実行される最も遅い操作の1つであり、接続バッファープールにより、ユーザーは接続を再現することなくデータストアに再び接続できます。これは、多数の接続を継続的に開閉して閉じるWebサイトにとって特に重要です。
ODBC接続の場合、接続バッファープールはODBCデータソース管理者によって制御されます。 OLE DBの場合、接続バッファープール(またはセッションバッファープール)を変更することはできません。
接続バッファープールは接続共有ではないことに注意する必要があります。接続は、顧客が閉じた後にのみ再度使用できます。
ハウスキーピング
接続バッファープールが有効になるためには、ハウスキーピングが整然とした状態にあることを確認する必要があります。これには、バッファープールに再利用できるように、時間内に接続オブジェクトを閉じることが含まれます。接続を絶えず開閉することはシステムにとって高価だと思うかもしれませんが、スケーラビリティを測定する必要があります。アプリケーションは多くの人に使用される場合があり、OLE DBは接続リソースの管理に非常に優れています。
一般的な原則は、接続を可能な限り遅く確立し、同時に接続をできるだけ早く閉じて、接続が開くための最短期間を確保することです。
8.4レコードセット
前述のように、レコードセットはADOで最も一般的に使用されるオブジェクトですが、これは驚くことではありません。結局のところ、それらにはデータが含まれています。ただし、レコードセットには思っている以上のものがあります。データがどのように保存および処理されるかを知ることが重要です。
レコードセットには異なるタイプがあり、いくつかの小さな場所には違いがあり、それは簡単に間違いにつながる可能性があります。真剣に話す必要がある最初のことは、カーソルの概念です。
8.4.1カーソル
カーソルは多くの人々を混乱させる概念ですが、実際には非常に簡単です。
カーソルは、レコードセットと現在のレコードポインターによって処理されるレコードセットの現在の位置を管理するために使用されます。
これはレコードセットオブジェクトが行うことではありませんか?はい、しかしレコードセットはカーソルにも依存しています。これはまだカーソルが何であるかという質問には答えませんので、表8-2に示すように、まずレコードセットを見てみましょう。
au_id
au_lname
au_fname
電話
172-32-1176
白
ボブ
408 496-7223
219-46-8915
緑
マージョリー
415 986-7020
238-95-7766
カーソン
シェリル
415 548-7723
267-41-2394
オリアリー
マイケル
408 286-2428
274-80-9391
真っ直ぐ
ディーン
415 834-2919
341-22-1782
スミス
蛇行
913 843-0462
ここには6列と4つの列があります。レコードセットを開くと、現在のレコードが最初のレコード、つまりボブホワイトのレコードです。現在のレコードを識別するために何を使用しますか?現在のレコードポインターを使用します。では、このポインターに対処する方法は?次のレコードまたはその他のレコードに移動する必要がある場合は、カーソルを介して達成されます。現在の行のフィールドにアクセスすると、カーソルは現在どの行があるかを知っているため、正しい値を返すことができます。レコードセットの最後の行から移動しようとすると、カーソルも処理します。
カーソルを理解する良い方法は、レコードセット内で移動できるウィンドウとしてカーソルを想像することです。このウィンドウはレコードセットの単一の行と同じくらい高く、一度に1列のデータ値しか表示されません。別のレコードに移動すると、ウィンドウが動きます。
これは非常に簡単だと思うかもしれませんが、カーソルでできることはカーソルのタイプによって決まるため、それは重要です。
共有:ルーチン:ASPを使用して、ファイルアドレスが有効かどうかを判断する以下は引用されたコンテンツです:<%respons.write(<head> <style> <! - span {font-size:9pt} - > </style> </head&g