1. ホーム

ADODBのExecuteメソッドです。

2022-02-24 21:27:31





通常、このようにADODBのインスタンスであるconn.execute(sql)を使用します。



ADOとは、Active Data Objectの略で、ActiveXデータオブジェクトと呼ばれる。ADOオブジェクトを使用すると、ODBCドライバまたはOLE DB接続文字列を介して、任意のデータベースへのアクセスとアクセスを実現することができます。

  OLE DBは、マイクロソフトがODBCの代替技術として採用しているデータベースアクセス技術である。リレーショナルデータベースと非リレーショナルデータベースの両方で動作するデータベースアクセス技術である。

  ADOは、データベースへのアクセスおよびアクセスを可能にするために使用される7つの独立したオブジェクトを提供します。

  -Connection 接続オブジェクト



  -Command コマンドオブジェクト。 コマンドオブジェクトは、SQL プロシージャまたはパラメータ付きのクエリを実行するために使用することができます。



  -Parameter パラメータオブジェクト



  -Recordset クエリによってデータテーブルから取得したレコードのセットを表すレコードセットオブジェク ト。このオブジェクトのメソッドとプロパティは、レコードへのアクセスや操作を可能にします。



  -フィールド フィールドオブジェクトで、レコードセット内のフィールドを表す。



  -Property プロパティオブジェクト



  -エラー エラーオブジェクト

接続、コマンド、レコードセットは、ADO全体の核となるものです。Connectionオブジェクトでデータベースとの接続を確立し、Commandオブジェクトでクエリを実行してクエリ結果を返し、その結果(レコードセット)はRecordsetオブジェクトに格納されます。Recordsetオブジェクトにアクセスすると、クエリされたレコードの内容を取得することができます。

また、ConnectionオブジェクトのExecuteメソッドとRecordsetオブジェクトのOpenメソッドを使用して、レコードセットを返すクエリを実行することも可能です。

ユーザーデータソース、システムデータソース、ファイルデータソースのODBCデータソース



    元の名前 データソース名 



中国語名:データソース名

DSNは、ODBCのために定義されたデータベースと、使用しなければならないODBCドライバを定義します。各ODBCドライバは、そのドライバがサポートするデータベースの1つに対してDSNを作成するために必要な情報を定義している。つまり、ODBCドライバをインストールし、データベースを作成した後に、DSNを作成する必要があります。



DSNは以下の3種類のうち、いずれかを定義することができる。

ユーザーデータソース。このデータソースは、作成したコンピュータにローカルで、作成したユーザーだけが使用できます。



システムデータソース。このデータソースは、作成したユーザーではなく、作成したコンピュータとそのコンピュータに属します。適切な権限を持つユーザーであれば、誰でもこのデータソースにアクセスすることができます。



ファイルのデータソースです。このデータソースは、基礎となるデータベースファイルに対して決定されます。言い換えれば、このデータソースは、適切なドライバをインストールしたすべてのユーザーによって使用することができます。

  ユーザーおよびシステムDSNは、Windows NTのレジストリに保存されます。システムDSNはログインしているすべてのユーザーがアクセスして使用することができ、ユーザーDSNは特定のユーザーによるアクセスと使用のみを提供することができます。 ファイルDSNは、拡張子.dsnのテキストファイルに格納され、複数のユーザーがアクセスして使用することができ、一般に使用するために複製することができます。

ADO接続オブジェクト

  接続オブジェクトのインスタンスは、そのオブジェクトを使用する前に作成する必要があります。

  インスタンス名を設定する = Server.CreateObject("ADODB.Connection")

 接続オブジェクトのメソッドです。

  -Openメソッド

  接続オブジェクト.Open データソース名|接続文字列

  Open メソッドがパラメータ付きで呼び出された場合、パラメータは基本的に接続オブジェクトの ConnectionString プロパティに渡されます。したがって、あらかじめConnectionStringプロパティの値を設定しておき、パラメータなしでOpenメソッドを呼び出すことも可能です

  -閉じる方法

  接続オブジェクト.Close Release: conn=Nothingに設定

  -Executeメソッド



  このメソッドは、SQLステートメントを実行するために使用されます。SQLステートメントが実行後にレコードセットを返すかどうかによって、このメソッドは2つの形式のうちの1つで使用されます。

    1. SQLクエリ文が実行されると、クエリによって得られた行の集合が返されます。使用形式は

    オブジェクト変数名 = join object.Execute("SQL query language")を設定します。

Executeメソッドが呼ばれた後、レコードセット・オブジェクトが自動的に作成され、そのレコードセット・オブジェクトにクエリ結果が格納されます。Setメソッドでは、レコードセットを指定したオブジェクトに割り当てて保存し、後でオブジェクト変数がレコードセットオブジェクトを表します。

    2. SQLの演算言語をレコードセットを返さずに実行する。この時点での使い方は

    接続オブジェクト.Execute "SQL operative statement" [, RecordAffected][, Option ]を実行します。

      -RecordAffectedは、SQL文実行後に有効なレコード数を自動的に保存する変数を配置するオプションです。この変数にアクセスすることで、SQL文によって何行が影響を受けたかを知ることができます。

      Optionオプションは、通常adCMDTextという値を取り、Executeメソッドの後の最初の文字をコマンド・テキストとして解釈するようADOに指示します。このパラメータを指定することで、実行をより効率的に行うことができます。

  -BeginTrans、RollbackTrans、CommitTransメソッド

  これら3つのメソッドは、トランザクション処理のために接続オブジェクトによって提供されます。BeginTrans はトランザクションを開始するために使用され、RollbackTrans はトランザクションをロールバックするために使用され、CommitTrans はすべてのトランザクション結果をコミットするため、つまりトランザクションの処理を確認するために使用されます。

  トランザクション処理は、全体として一連の処理と考えることができ、すべての文が正常に実行されて初めてトランザクションが成功し、1つでも失敗すると処理全体が失敗して以前の状態に戻ってしまう。

  BeginTransとCommitTransはトランザクションの開始と終了を示すもので、その間にあるステートメントがトランザクションとして処理されるステートメントとなる。Errorコレクションのメンバーの数が0でない場合、エラーが発生し、トランザクションは失敗しています。

  また、SQL自体が提供するトランザクション処理文を使ってストアドプロシージャを記述し、ADOコマンドオブジェクトの該当メソッドを呼び出してストアドプロシージャを実行することでも、トランザクションを実装することが可能です。

 接続オブジェクトの共通プロパティです。

  属性名

CommandTimeOut Executeメソッドの最大実行時間を設定します。デフォルトは30秒です。制限なしの場合は0を設定します。



ConnectionTimeOut Openメソッドの最大実行時間を設定します(デフォルトは15秒)。0に設定すると無制限になります。



ConnectionString DSN、プロバイダ、ユーザ名、パスワードなど、接続オブジェクトのリンク情報を設定します。

レコードセットオブジェクト

これは、通常、ADODBのインスタンスであるconn.execute(sql)を使用する方法です。



ADOとは、Active Data Objectの略で、ActiveXデータオブジェクトと呼ばれています。ADOオブジェクトを使用すると、ODBCドライバまたはOLE DB接続文字列を介して、任意のデータベースへのアクセスとアクセスを実現することができます。

  OLE DBは、マイクロソフトがODBCの代替技術として採用しているデータベースアクセス技術である。リレーショナルデータベースと非リレーショナルデータベースの両方で動作するデータベースアクセス技術である。

  ADOは、データベースへのアクセスおよびアクセスを可能にするために使用される7つの独立したオブジェクトを提供します。

  -Connection 接続オブジェクト



  -Command コマンドオブジェクト。 コマンドオブジェクトは、SQL プロシージャまたはパラメータ付きのクエリを実行するために使用できます。



  -Parameter パラメータオブジェクト



  -Recordset クエリによってデータテーブルから取得したレコードのセットを表すレコードセットオブジェク ト。このオブジェクトのメソッドとプロパティは、レコードへのアクセスや操作を可能にします。



  -フィールド フィールドオブジェクトで、レコードセット内のフィールドを表す。



  -Property プロパティオブジェクト



  -エラー エラーオブジェクト

接続、コマンド、レコードセットは、ADO全体の核となるものです。Connectionオブジェクトでデータベースとの接続を確立し、Commandオブジェクトでクエリを実行してクエリ結果を返し、その結果(レコードセット)はRecordsetオブジェクトに格納されます。Recordsetオブジェクトにアクセスすると、クエリされたレコードの内容を取得することができます。

また、ConnectionオブジェクトのExecuteメソッドとRecordsetオブジェクトのOpenメソッドを使用して、レコードセットを返すクエリを実行することも可能です。

ユーザーデータソース、システムデータソース、ファイルデータソースのODBCデータソース



    元の名前 データソース名 



中国語名:データソース名

DSNは、ODBCのために定義されたデータベースと、使用しなければならないODBCドライバを定義します。各ODBCドライバは、そのドライバがサポートするデータベースの1つに対してDSNを作成するために必要な情報を定義しています。つまり、ODBCドライバをインストールし、データベースを作成した後に、DSNを作成する必要があります。



DSNは以下の3種類のうち、いずれかを定義することができる。

ユーザーデータソース。このデータソースは、作成したコンピュータにローカルで、作成したユーザーだけが使用できます。



システムデータソース。このデータソースは、作成したユーザーではなく、作成したコンピュータとそのコンピュータに属します。適切な権限を持つユーザーであれば、誰でもこのデータソースにアクセスすることができます。



ファイルのデータソースです。このデータソースは、基礎となるデータベースファイルに対して決定されます。言い換えれば、このデータソースは、適切なドライバをインストールしたすべてのユーザーによって使用することができます。

  ユーザーおよびシステムDSNは、Windows NTのレジストリに保存されます。システムDSNはログインしているすべてのユーザーがアクセスして使用することができ、ユーザーDSNは特定のユーザーによるアクセスと使用のみを提供することができます。 ファイルDSNは拡張子.dsnのテキストファイルに格納され、複数のユーザーがアクセスして使用することができ、一般的な使用のために複製することができます。

ADO接続オブジェクト

  接続オブジェクトのインスタンスは、そのオブジェクトを使用する前に作成する必要があります。

  インスタンス名を設定する = Server.CreateObject("ADODB.Connection")

 接続オブジェクト用のメソッドです。

  -Openメソッド

  接続オブジェクト.Open データソース名|接続文字列

  Open メソッドがパラメータ付きで呼び出された場合、パラメータは基本的に接続オブジェクトの ConnectionString プロパティに渡されます。したがって、あらかじめConnectionStringプロパティの値を設定しておき、パラメータなしでOpenメソッドを呼び出すことも可能です

  -Closeメソッド

  接続オブジェクト.Close Release: conn=Nothingに設定

  -Executeメソッド



  このメソッドは、SQLステートメントを実行するために使用されます。SQLステートメントが実行後にレコードセットを返すかどうかによって、このメソッドは2つの形式のうちの1つで使用されます。

    1. SQLクエリ文が実行されると、クエリによって得られた行の集合が返されます。使用形式は

    オブジェクト変数名 = join object.Execute("SQL query language")を設定します。

Executeメソッドが呼ばれた後、レコードセット・オブジェクトが自動的に作成され、そのレコードセット・オブジェクトにクエリ結果が格納されます。Setメソッドで、レコードセットを指定したオブジェクトに割り当てて保存し、後でオブジェクト変数がレコードセットオブジェクトを表します。

    2. SQLの演算言語を実行した場合、レコードセットが返されない。この時の使い方は

    接続オブジェクト.Execute "SQL operative statement" [, RecordAffected][, Option ]を実行します。

      -RecordAffectedは、SQL文実行後に有効なレコード数を自動的に保存する変数を配置するオプションです。この変数にアクセスすることで、SQL文によって何行が影響を受けたかを知ることができます。

      Optionオプションは、通常adCMDTextという値を取り、Executeメソッドの後の最初の文字をコマンド・テキストとして解釈するようADOに指示します。このパラメータを指定することで、実行をより効率的に行うことができます。

  -BeginTrans、RollbackTrans、CommitTransメソッド

  これら3つのメソッドは、トランザクション処理のために接続オブジェクトによって提供されます。BeginTrans はトランザクションを開始するために使用され、RollbackTrans はトランザクションをロールバックするために使用され、CommitTrans はすべてのトランザクション結果をコミットするため、つまりトランザクションの処理を確認するために使用されます。

  トランザクション処理は、全体として一連の処理と考えることができ、すべての文が正常に実行されて初めてトランザクションが成功し、1つでも失敗すると処理全体が失敗して以前の状態に戻ってしまいます。

  BeginTransとCommitTransはトランザクションの開始と終了を示すもので、その間にあるステートメントがトランザクションとして処理されるステートメントとなる。Errorコレクションのメンバーの数が0でない場合、エラーが発生し、トランザクションは失敗しています。

  また、SQL自体が提供するトランザクション処理文を使ってストアドプロシージャを記述し、ADOコマンドオブジェクトの該当メソッドを呼び出してストアドプロシージャを実行することでも、トランザクションを実装することが可能です。

 接続オブジェクトの共通プロパティです。

  属性名

CommandTimeOut Executeメソッドの最大実行時間を設定します。デフォルトは30秒です。制限なしの場合は0を設定します。



ConnectionTimeOut Openメソッドの最大実行時間を設定します(デフォルトは15秒)。0に設定すると無制限になります。



ConnectionString DSN、プロバイダ、ユーザ名、パスワードなど、接続オブジェクトのリンク情報を設定します。

レコードセットオブジェクト