ActiveConnection

(PWS4 IIS4 IIS5)
ActiveConnection — 指定した Command オブジェクト、Recordset オブジェクト、または Record オブジェクトが、現在どの Connection オブジェクトに属するかを示します。

設定値と戻り値

接続が切断された場合は接続定義を格納する文字列型 (String) の値、また、接続が開かれている場合はカレントの Connection オブジェクトを格納したバリアント型 (Variant) の値を設定します。また、値の取得も可能です。既定は Null オブジェクトへの参照です。

説明

指定された Command オブジェクトを実行する Connection オブジェクト、または指定された Recordset を開くための Connection オブジェクトを探すには、ActiveConnection プロパティを使います。

Command オブジェクトでは、ActiveConnection プロパティは読み取り/書き込み可能になります。

このプロパティを開いている Connection オブジェクトまたは有効な接続文字列に設定する前に、Command オブジェクトで Execute メソッドを呼び出すと、エラーが発生します。

Microsoft Visual Basic ActiveConnection プロパティに Nothing を設定すると、現在の Connection から Command オブジェクトが分離され、プロバイダはデータ ソース上の関連するリソースを解放します。この設定の後で、Command オブジェクトを同じまたは別の Connection オブジェクトに関連付けることができます。プロバイダによっては、先にプロパティに Nothing を設定することなく、ある Connection から別の Connection にプロパティ設定を変更できます。

Command オブジェクトの Parameters コレクションにプロバイダから提供されるパラメータが含まれる場合、ActiveConnection プロパティを Nothing またはほかの Connection オブジェクトに設定すると、コレクションの内容は消去されます。手動で Parameter オブジェクトを作成し、それを使って Command オブジェクトの Parameters コレクションの値を入力すると、ActiveConnection プロパティを Nothing またはほかの Connection オブジェクトに設定しても、Parameters コレクションはそのまま変わりません。

Command オブジェクトに関連付けられた Connection オブジェクトを閉じると、ActiveConnection プロパティは Nothing に設定されます。このプロパティに閉じられた Connection オブジェクトを設定するとエラーが発生します。

Recordset

開いている Recordset オブジェクト、または Source プロパティが有効な Command オブジェクトに設定されている Recordset オブジェクトの場合、ActiveConnection プロパティは読み取り専用になっています。それ以外の場合は読み取り/書き込み可能です。

このプロパティには、有効な Connection オブジェクトまたは有効な接続文字列を設定できます。この場合、プロバイダはこの定義を使って新規 Connection オブジェクトを作成し、接続を開きます。加えて、プロバイダがこのプロパティに新規 Connection オブジェクトを設定することがあります。これは、Connection オブジェクトにアクセスして詳細エラー情報があるかどうかを調べたり、ほかのコマンドを実行できるようにするためです。

Recordset オブジェクトを開くときに Open メソッドの ActiveConnection 引数を使用する場合、ActiveConnection プロパティはこの引数値を継承します。

Recordset オブジェクトの Source プロパティに有効な Command オブジェクト変数を設定した場合、Recordset の ActiveConnection プロパティは、Command オブジェクトの ActiveConnection プロパティの設定値を継承します。

RDS での使用 クライアント側の Recordset オブジェクトでこのプロパティを使用する場合、このプロパティに設定できるのは、接続文字列、または Nothing (Microsoft Visual Basic または Visual Basic Scripting Edition の場合) だけです。
Record

Record オブジェクトを閉じるとこのプロパティは読み取り/書き込み可能になり、接続文字列または開かれた Connection オブジェクトに対する参照が格納されます。Record オブジェクトを開くとこのプロパティは読み取り専用になり、開かれた Connection オブジェクトに対する参照が格納されます。

URL から Record オブジェクトを開くと、Connection オブジェクトが無条件で作成されます。既存の開かれた Connection オブジェクトで Record を開くには、Connection オブジェクトをこのプロパティに割り当てるか、Open メソッドを呼び出す際のパラメータとして Connection オブジェクトを使用します。既存の Record や Recordset から開いた Record は、Record オブジェクトや Recordset オブジェクトの Connection オブジェクトに自動的に関連付けられます。

注意 http スキーマを使用している URL は、Microsoft OLE DB Provider for Internet Publishing を自動的に呼び出します。


Command オブジェクト

データ ソースに対して実行する、特定のコマンドの定義です。

* ActiveConnection
* CommandText
* CommandTimeout
* CommandType
* Dialect
* Name
* Prepared
* State
* Cancel
* CreateParameter
* Execute


ADO

ADO

ADO を使用すると、OLE DB プロバイダを通してデータベースサーバー上のデータへのアクセスと操作を行うための、クライアントアプリケーションを作成することができます。ADO の主な利点は、使用が簡単で、高速に動作し、メモリのオーバーヘッドが小さく、ディスクの使用量が少ないことです。ADO では、クライアント/サーバー アプリケーションおよび Web ベース アプリケーションを構築するための重要な機能がサポートされています。

* Commandオブジェクト
* Connectionオブジェクト
* Errorオブジェクト
* Errorコレクション
* Fieldオブジェクト
* Fieldsコレクション
* Parameterオブジェクト
* Parametersコレクション
* Propertyオブジェクト
* Propertiesオブジェクト
* Recordオブジェクト
* Recordsetオブジェクト
* Streamオブジェクト


Session_OnStart

(PWS4 IIS4 IIS5)
Session_OnStart — サーバーが新しいセッションを作成したときに発生します。

Sub Session_OnStart
. . .
End Sub

説明

このスクリプトは、要求されたページの実行前に処理されます。したがって、Session_OnStart イベントは、セッション全体の変数を設定するタイミングとして適しています。変数は、ページへのアクセスが始まる前に設定されるためです。 Session_OnStart イベント スクリプトでは、すべての組み込みオブジェクト (Application、 ObjectContext、 Request、Response、Server、および Session) が利用でき、参照できます。

Session_OnStart イベントに Redirect メソッドまたは End メソッドの呼び出しが含まれている場合も、Session オブジェクトは処理されますが、サーバーは Global.asa ファイルのスクリプト、および Session_OnStart イベントを発生させたファイルのスクリプトの処理を停止します。

Session_OnStart イベントで Redirect メソッドを呼び出し、ユーザーが常に特定の Web ページでセッションを始めるようにする処理などを行うことができます。ユーザーがアプリケーションに入ると、サーバーはそのユーザーに対してセッションを作成し、Session_OnStart イベントスクリプトを処理します。このイベントのスクリプトでは、ユーザーが開いたページが開始ページかどうかを調べ、開始ページではない場合に Response.Redirect メソッドを呼び出してユーザーを開始ページに移動させることができます。次の例は、以上の内容を示しています。

例1.Session_OnStartの例

1
2
3
4
5
6
7
8
9
10
11
<script RUNAT=Server LANGUAGE=VBScript>
Sub Session_OnStart

  startPage = "/MyApp/StartHere.asp"
  currentPage = Request.ServerVariables("SCRIPT_NAME")

  If strcomp(currentPage,startPage,1) then
    Response.Redirect(startPage)
  End If
End Sub
</script>

上の例は、cookie をサポートしているブラウザでのみ動作します。非 cookie ブラウザは SessionID cookie を返さないため、ユーザーがページを要求するたびにサーバーは新しいセッションを作成します。したがって、要求ごとにサーバーは Session_OnStart スクリプトを処理し、ユーザーを開始ページに移動させます。上記のスクリプトを使う場合、そのサイトの開始ページには、cookie が利用可能なブラウザの使用が必要なことをユーザーに知らせるメッセージを掲示することをお勧めします。


Session_OnEnd

(PWS4 IIS4 IIS5)
Session_OnEnd — セッションが破棄されたときに発生

Sub Session_OnEnd
. . .
End Sub

説明

Session_OnEnd イベントは、セッションが破棄されたとき、またはタイムアウトになったときに発生します。サーバー組み込みオブジェクトのうち、Application オブジェクト、Server オブジェクト、および Session オブジェクトだけが利用できます。


RemoveAll

(PWS4 IIS4 IIS5)
RemoveAll — Contents コレクションからすべての項目を削除します。

Session.Contents.RemoveAll( )

説明

RemoveAll メソッドは、Session オブジェクトの Contents コレクションに追加された項目すべてを削除します。

次の例は、Session.contents コレクションに追加された項目すべてを削除します。

例1.RemoveAllの例

1
<%Session.Contents.RemoveAll()%>

Remove

(PWS4 IIS4 IIS5)
Remove — Contents コレクションから項目を削除します。

Session.Contents.Remove( Item|Index )

パラメータ
Item コレクションから削除するメンバの名前です。
Index コレクションから削除するメンバのインデックス エントリです。

説明

Contents.Remove メソッドは、入力パラメータとして文字列または整数のいずれかの値をとります。入力パラメータが文字列の場合、メソッドは Contents コレクション内で名前が文字列と一致する項目を探し、削除します。入力パラメータが整数の場合、メソッドはコレクションの最初から数えて、対応する項目を削除します。

次の例は、myName という変数を Session.Contents コレクションに追加して、削除します。

例1.Removeの例

1
2
3
4
<%
  Session("myName") = " "
  Session.Contents.Remove("myName")
%>

Abandon

(PWS4 IIS4 IIS5)
Abandon — このメソッドは、Session オブジェクトを破棄してそのリソースを解放します。

Session.Abandon[= nMinutes]

パラメータ
nMinutes セッションがアイドル状態のまま保持される分数を指定します。この時間が経過するとサーバーは自動的にセッションを終了します。既定値は 10 分です。

説明

Abandon メソッドは、Session オブジェクトに格納されているすべてのオブジェクトを破棄し、リソースを解放します。Abandon メソッドを明示的に呼び出さない場合、サーバーは、セッションがタイムアウトになった時点でそれらのオブジェクトを破棄します。

Abandon メソッドを呼び出すと、現在の Session オブジェクトが削除のためにキューに退避されますが、実際に削除されるのは現在のページのスクリプトコマンドの処理がすべて完了した時点です。つまり、 Abandon を呼び出したページ内であれば Session オブジェクト内の変数にはまだアクセスすることができますが、その後の Web ページではアクセスできなくなります。

たとえば、次のスクリプトの 3 行目は値 Mary を出力します。これは、Session オブジェクトはサーバーがスクリプトの処理を完了するまで破棄されないためです。

例1.Abandonの例

1
2
3
4
5
<%
  Session.Abandon
  Session("MyName") = "Mary"
  Reponse.Write(Session("MyName"))
%>

しかし、後続の Web ページで変数 MyName にアクセスしても、変数は空になります。これは、上のスクリプトのあるページの処理が完了した時点で MyName と前の Session オブジェクトが破棄されたためです。

セッションを放棄した後に後続の Web ページを開くと、サーバーは新しい Session オブジェクトを作成します。この新しい Session オブジェクトには、変数やオブジェクトを格納することができます。

次の例は、サーバーが現在のページの処理を完了したときにセッション状態が解放されるようにします。

1
<% Session.Abandon %>

Timeout

(PWS4 IIS4 IIS5)
Timeout — このアプリケーションのセッション状態のタイムアウト時間 (分単位) です。

Session.Timeout[= nMinutes]

パラメータ
nMinutes セッションがアイドル状態のまま保持される分数を指定します。この時間が経過するとサーバーは自動的にセッションを終了します。既定値は 10 分です。

説明

Timeout プロパティは、このアプリケーションの Session オブジェクトのタイムアウト時間を分単位で指定します。ユーザーがこのタイムアウト時間の間、ページの更新や要求をまったく行わなければ、そのセッションは終了します。

Abandonメソッドも参照ください。


SessionID

(PWS4 IIS4 IIS5)
SessionID — このユーザーのセッション識別子を返します。

Session.SessionID

説明

SessionID プロパティは、セッション識別子を返します。セッション識別子は、セッションの作成時にサーバーによって生成される一意の識別子です。セッション ID は長整数 (LONG) データ型として返されます。

データベース アプリケーションの主キーの値を生成するために SessionID プロパティを使用することは避けてください。
これは、Web サーバーが再起動した場合に、SessionID の値の一部がサーバーの停止前の値と同じになることがあるためです。
このため、Microsoft SQL Server の IDENTITY や Microsoft Access の COUNTER などの自動インクリメント列データ型を代用してください。