ADODBのExecuteメソッドです。
通常、このように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、プロバイダ、ユーザ名、パスワードなど、接続オブジェクトのリンク情報を設定します。
レコードセットオブジェクト
関連
-
Pythonではbreak文とcontinue文はifとしか使えないのでしょうか?
-
c++のエラーエラー: "***"の前に期待される初期化子
-
hibernate の遅延ロード例外分析: ロールのコレクションの遅延初期化に失敗しました。
-
中に内部エラーが発生しました。「Javaツーリングの初期化」中に内部エラーが発生しました。
-
ImportError: virtualenv を使用して仮想環境を作成する際に、urllib3 という名前のモジュールがないエラーが発生します。
-
liunx, makeでmysqlをインストール *** ターゲットが指定されておらず、makefileも見つかりませんでしたので停止しました。
-
新ソナーコードのレビュー課題のまとめ
-
collect2.exe: エラー: ld が 1 の終了ステータスを返しました。
-
コンテナが 0 以外の終了コードで終了した 127
-
データが長すぎてカラムソリューションが使えない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NoClassDefFoundError: org/hamcrest/SelfDescribing JUnit-4.11でエラー。
-
Pythonのsort関数とsorted関数の違いとpythonのエラーについて。AttributeError: 'list' オブジェクトに 'sorted' 属性がない 理由
-
PythonのTypeError: unbound methodの問題を解決する
-
Pythonがエラー 'urllib' に 'urlretrieve' という属性がないとプロンプトを出す?
-
Unity3d Drag and Drop script reports error スクリプトクラスが見つからないため、スクリプトコンポーネント "" を追加できません。
-
RabbitMQ起動時のトラブルと解決方法
-
クラスタへのJava apiアクセス(Kerberos認証が通らない)
-
json文字列のダブルクォートが&quotになるのですが、どうすれば解決できますか?
-
gitbash は次のように報告し続けます: sh: __git_ps1: コマンドが見つかりません 解決策 --- 検証中
-
__declspec の使用法の詳細