推奨:ASP.NETはRARを使用してファイル圧縮と減圧を実装しますRARプログラムがサーバーにインストールされている場合、ASP.NETはRARを呼び出してファイル圧縮と減圧を実装できます。ただし、Webプログラムはクライアントプログラムを直接呼び出すことはできないため(ActiveXが使用されない限り、ActiveXはほとんど放棄されていないため)、実装したい場合は注意する必要があります。
8.2.5ストリームオブジェクトストリームオブジェクトは、電子メールメッセージやWebページなど、ノードのコンテンツにアクセスするために使用されます。ストリームオブジェクトを使用して、ファイルまたはリソースの実際のコンテンツにアクセスします。したがって、レコードとレコードセットのオブジェクトを組み合わせることで、Webサーバー上のファイルまたは電子メールメッセージにアクセスするだけでなく、対応するコンテンツにもアクセスできます。このようにして、ADOのみを使用してメールシステムにアクセスするメール顧客を作成できます。これには多くの利点がないかもしれませんが、メールシステムのAPIまたはオブジェクトモデルを理解する必要がなく、学習迂回路を減らす必要がないことを意味します。
ストリームのもう1つの使用はXMLで、XMLストリームとして一連のデータ(構造化または半構造化)にアクセスできます。
ストリームオブジェクトはバイナリデータの処理に使用されるため、データベース内の画像や大規模なテキストデータなどのBLOBタイプデータの処理に使用できます。
同様に、この本の第11章と第12章には、ストリームオブジェクトの例をもっと見ることができます。
8.2.6コレクション
ADOオブジェクトライブラリには、それぞれに関連付けられたオブジェクトのコピーがゼロ以上のコレクションがいくつかあります。同じコード構造を使用して、これらのコレクションを通過できます。
vbscriptの構文は次のとおりです。
コレクション内の各オブジェクトに対して
'オブジェクトで何かをしてください
次
たとえば、レコードセットオブジェクトのフィールドセットを繰り返します。
Rs.Fieldsの各objfieldについて
respons.write objfield.name&<br>
次
jscriptを選択すると、列挙者オブジェクトを使用できます。
for(objfield = new Enumerator(rs.Fields);
!objfield.atend(); objfield.movenext())
Response.write(objfield.item()。name '<br>');
1。フィールドコレクション
フィールドコレクションには、レコードセットまたはレコードに関連付けられたフィールドオブジェクトがあります。 SQLデータなどの構造化されたデータに基づいたレコードセットの場合、フィールドはデータの列に対応し、名前、データ型、長さなどの列の詳細な内容を含みます。次のいくつかの章でフィールドコレクションに関する多くの例を見ます。
半構造化データの場合、オブジェクトのプロパティはフィールドに対応します。第12章では、より関連する紹介があります。
2。パラメーターコレクション
パラメータコレクションは、コマンドオブジェクトによってのみ使用され、保存されたコマンドのパラメーターを決定します。 SQLデータベースのストアドプロシージャは、頻繁にパラメーターを使用し、事前に定義されたSQLステートメントの内外データを渡すことができます。 ADOに情報を返すパラメーターがある場合に役立ちます。これは、ストアドプロシージャから戻るのはレコードセットだけではないためです。たとえば、複数のテーブルを更新してレコードセットを返す複雑なストアドプロシージャを考慮すると、出力パラメーターを使用して、更新されたレコードの数を表示できます。
パラメーターを使用するもう1つの理由は、特にストアドプロシージャから単一の値を返す必要がある場合、パフォーマンスの問題です。この場合、レコードセットを作成して値を保存する必要はないため、レコードセットを返す必要はなく、出力パラメーターの値を返すことはより効率的な方法です。
第9章では、パラメーターコレクションの詳細な紹介をご覧ください。
3。エラーコレクション
エラーコレクションには、コマンドを実行することによって引き起こされる最後のADOまたはOLE DBプロバイダーエラーの詳細が含まれており、接続オブジェクトによってのみアクセスできます。接続オブジェクトを明示的に定義する必要はないため、これは制限と見なされる場合がありますが、暗黙の接続オブジェクトには、コマンド、レコードセット、および記録オブジェクトのActiveConnectionプロパティを介してアクセスできます。例えば:
rs.activeconnection.errorsの各objerrorについて
respons.write objerror.name&<br>
次
この章の後半では、エラーコレクションについて詳しく説明します。
4。プロパティコレクション
混乱を避けるために、プロパティコレクションは以前のオブジェクトモデル図に表示されません。オブジェクトモデルとの関係を図8-5に示します。
図8-5プロパティとオブジェクトの関係
プロパティコレクションが存在する理由は、ADOがさまざまな特性を持つ多くの異なるデータストアを処理するために使用されるためです。プロパティ(プロパティ)をコレクションに構成することにより、さまざまなデータプロバイダーに従っていつでも動的に変更できるようになります。たとえば、JETのOLE DBプロバイダーは、ジェットの特別なセキュリティプロパティへのアクセスを許可します。
condb = server.createObject(adodb.connection)を設定します
condb.open dsn = nwind
Condb.Properties(Jet OLEDB:データベースパスワード)= LetMein
他のプロバイダーにはこのプロパティがないため、静的プロパティとして接続オブジェクトに追加することは賢明ではありません。 ADOは、使用されているOLE DBプロバイダーに基づいて、プロバイダーのデフォルト値を属性コレクションに入力します。
ここでプロパティコレクションを使用するための指示はありますが、プロパティコレクションについては、この本で詳しく説明していません。コレクションの詳細については、Professional ADO 2.5プログラミングまたはADO 2.5プログラミングのリファレンスを参照してください。どちらもWroxが発行しています。
8.2.7 ADO定数
ADOを使用する場合、カーソルタイプやロックタイプを定義する定数など、多数のオプションに事前定義された定数が多数あることがわかります。 Visual Basic CやVisual Cなどの言語を使用して、ADOタイプライブラリが参照されると、これらの定数が自然に使用されます。 ASPには、2つのオプションがあります。
定数を参照する最初の方法は、それらをASPファイルに含めることです。
<! - #include file = adovbc.inc->
インストールをローカルディレクトリにコピーするか、インストールディレクトリから参照してください。デフォルトのパスはc:/common files/system/ado(上記のファイルにはvbscriptのado定数が含まれています。この方法を使用することの1つの欠点は、すべての定数が含まれているため、ASPページが大きくなりすぎることです。その多くを使用する必要はありません。
必要な定数のみを含む独自のコンテンツファイルを作成できますが、ADOをますます多くの機能を使用すると、このファイルを常に編集および維持する必要があることがわかります。
より良い解決策は、タイプライブラリへの参照を作成することです。この方法では、定数をASPファイルに含める必要はありませんが、定数を直接参照できます。
<! - メタデータタイプ= Typelibファイル= C:/プログラムファイル/
一般的なファイル/システム/ADO/MSADO15.DLL->
このDLLの名前はMSADO15.DLLであると疑ってはなりません。これは、ADOの最新バージョンを含む正しい名前です。
このメタデータステートメントを各ASPファイルに必要な場所に含めるか、アプリケーション内の各Webページがこれらの定数を参照できるようにGlobal.asaファイルに配置することもできます。
8.3データストレージへの接続
データストアにアクセスする必要がある場合は、データストアへの接続を作成する必要があります。前述のように、接続オブジェクトを明示的に作成するか、ADOに暗黙的に接続を作成させることができます。どんな方法でも、データストレージの詳細を知る必要があります。
接続に使用される実際の詳細は異なりますが、実際の接続方法は、すべてのタイプのデータストレージで同じです。さまざまなプロバイダーがさまざまな種類の情報を必要とするため、これは驚くことではありません。ユーザーがデータストアにアクセスできるようにする前に、一部のプロバイダーはユーザーの証明書を必要とし、他のプロバイダーはデフォルトのセキュリティ証明書を受け入れます。
データソースに接続する方法はいくつかあります。
・文字列を接続します。接続の詳細を文字列に配置するか、データストアを開くときに接続の詳細をコマンドに直接追加します。このアプローチの利点は、接続の詳細がASPページに保持されることです。欠点は、より多くのページがある場合、接続の詳細を変更するときに重いメンテナンス作業に閉じ込められることです。解決策は、接続の詳細を含む文字列変数を作成し、それをASPを含むファイルに配置することです。このようにして、接続文字列には1つのインスタンスのみがありますが、他のASPページと一致する可能性があります。別の一般的な手法は、アプリケーション内の接続文字列を状態変数に保存することです。そのため、アプリケーション内のすべてのページで使用できます。
・データリンクファイル。これは、接続の詳細(拡張子)を備えたファイルです。利点は、データASPページに必要なデータリンクファイルは1つだけであることです。データリンクファイルを作成するには、新しいテキストファイルを作成して名前を変更するだけです(Windows Explorerがファイル拡張子を表示するようにします)。ファイルの名前が変更されたら、[ダブルクリック)して[データ]リンク[プロパティ]ダイアログボックスを表示できます。
共有:ネットワーク環境を浄化して汚い言葉をフィルタリングするASPプログラムネットワーク環境の浄化ASPプログラムを実装するフィルタリング誓いの言葉は参照されるコンテンツです:<! - #conn/dbconn1.asp-> <! - #conn/dbconn1.asp-> <! - include