推奨:ASPでは、DBFデータベースからSQLテーブルへのデータのエクスポートデータを実装しています説明:DBFデータベース構造は、SQLテーブルと一致する必要があります。以下は参照コンテンツです:<%dim conndbf_dbf、driver_dbf、sourcetype_dbf、dbpath_dbf dim conn_
8.4.3レコードセットの作成レコードセットを作成するのは非常に簡単です。これは、レコードセットオブジェクトのオープンメソッドを呼び出すことで達成されます。
RecordSet.Open [source]、[activeConnection]、[cursortype]、[locktype]、[options]
パラメーターと説明を表8-3に示します。
表8-3オープンメソッドのパラメーターと説明
パラメーター
説明します
ソース
データソース。これは、データベースのテーブル名、保存されたクエリまたは手順、SQL文字列、コマンドオブジェクト、またはプロバイダーに適したその他のコマンドオブジェクトにすることができます
ActiveConnection
レコードセットで使用される接続。接続文字列または開く接続オブジェクトにすることができます
cursortype
使用するカーソルのタイプ。定義されたカーソルタイプの1つである必要があり、デフォルト値はAdforWardonlyです
ロックタイプ
使用されるロックタイプ。定義されたロックタイプの1つである必要があり、デフォルト値はadlockreadonlyです
オプション
テーブル、テキスト文字列など、ソースパラメーターのコンテンツが何であるかをプロバイダーに伝えます。
たとえば、データベースパブの著者テーブルのレコードセットを開くには:
薄暗いrsauthors
rsauthors = server.createObject(adodb.Recordset)を設定します
rsauthors.open Authors、strconn
'ここで何かをしてください
rsauthors.close
rsauthors = Nothingを設定します
指定されていないパラメーターがいくつかあることに注意してください。実際、すべてのパラメーターはオプションであり、レコードセットの対応するプロパティ値を開く前に設定できます。
薄暗いrsauthors
rsauthors = server.createObject(adodb.Recordset)を設定します
rsauthorsと
.source = authors
.activeconnection = strconn
.cursortype = adopenforwardonly
.locktype = adlockreadonly
。開ける
で終わります
'ここで何かをしてください
rsauthors.close
rsauthors = Nothingを設定します
レコードセットが開かれると、現在のポインターは最初のレコードに自動的に配置されます。レコードセットにレコードがない場合、EOF属性とBOF属性の両方が真です。
rsauthors.open Authors、strconn
rsauthors.bofおよびrsauthors.eofの場合
'レコードセットは空です
ifを終了します
1。オプションパラメーター
オープンメソッドのオプションパラメーターを使用すると、コマンドテキストコンテンツを指定できます。次のCommandTypeenum定数のいずれかになります。
ADCMDTEXT:SQL文字列などのテキストコマンド。
adcmdtable:テーブル名。
adcmdstoredproc:ストアドプロシージャ名。
ADCMDFILE:保存されたレコードセットのファイル名。
ADCMDTABLEDIRECT:テーブル名。
adcmdurlbind:urlアドレス。
ADCMDTABLEとADCMDTableDirectの違いは非常に少ないです。テーブル内のすべての列を使用する場合は、ADOがいくつかの内部最適化を実行するため、ADCMDTableDirectを使用すると実行が速くなります。
コマンドタイプが指定されていない場合、ADOは実行されたコマンドのタイプを計算する必要があります。これにより、追加のオーバーヘッドが表示されます。
ここにはさらに2つのオプションがあります。ADCMDunSpecifiedは、指定されたタイプがないことを意味します。 ADCMDUNKNOWは、コマンドのタイプが不明であることを意味します。それらは一般的に使用されない場合があります。
追加のオプション
オプションパラメーターは上記の定数のいずれかにすることができますが、次のexecuteoptionenum定数も追加できます。
adasyncexcute:コマンドを非同期に実行します。
adasyncfetch:最初の行セットを取得した後、残りの行を非同期に取得します。
adasyncfetchblocking:レコードを取得し、コマンドが実行されないようにしないことを除いて、他のコマンドはadasyncfetchに似ています。
adexechtenorecords:コマンドはレコードを返さない。
非同期処理とは、操作がバックグラウンドで実行されることを意味します。コマンドを実行してから、それらが完了するのを待たずに他の作業を続けることができます(同期操作)。これは、ユーザーインターフェイスを作成するときに特に便利です。これは、データ取得がまだバックグラウンドにある間に、コマンド実行から返されてユーザーにコンテンツを表示できるためです。これは、レコードセットを返す際にASPプログラマーにとってあまり役に立たないため、スクリプト言語はADOイベントをサポートしていないため、レコードセットがフィルシフトを完了したことはわかりません。更新、削除または挿入データコマンドを処理し、レコードセットを返していない場合、非同期操作を使用できます。つまり、結果を気にしない場合にのみです。
一方、AdexecutenoreCordsオプションは非常に便利です。 ADOに、データを返さないコマンドを実行するように指示します。したがって、レコードセットを作成する必要はありません(要するに空想かもしれません)。これにより、更新またはデータの追加のための実行中のクエリ操作が高速化されます。
これらのオプションのいずれかを追加するには、またはシンボルを使用できます(プラス記号に相当)
adcmdstoredprocまたはadexecutenorecords
adcmdstoreproc adexecutenorecords
次の章では、関連するコンテンツのより詳細な紹介を見ることができます。これは、(レコードセットではなく)コマンドを扱うときにより便利になるためです。
2。レコードセットに移動します
レコードセットが開かれると、各レコードを通過する必要があることがよくあります。これには、EOF属性の使用が必要です。レコードセットの終了に到達すると、EOFが真実になります。これは、次のようにループを作成できるためです。
rsauthors.open Authors、strconn
rsauthors.eofではありません
Response.write rsauthors(au_lname :)&&_
rsauthors(au_fname)&<br>
rsauthors.movenext
ウェンド
上記の例は、EOF属性が終了する前にtrueになるまでループします。 Movenextメソッドは、次のレコードに移動するために使用されます。
レコードセットが後方の動きを許可する場合、MovePreviousメソッドを使用できます。この場合、BOF属性値をループで検出する必要があります。それぞれ最初と最後のレコードに移動するMoveFirstおよびMovelastメソッドもあります。
rsauthors.open Authors、strconn、adopendynamic
'最初のレコード
rsauthors.movelast
'今最後の記録に
rsauthors.moveprevious
rsauthors.moveprevious
'レコードセットの端から3行
rsauthors.movefirst
'最初に再び戻ってきます
3.フィールドコレクションを使用します
Fieldsコレクションには、レコードセットの各フィールド(列)のフィールドオブジェクトが含まれています。 Fieldsコレクションはレコードセットのデフォルトのコレクションであるため、フィールドにアクセスするときに省略できます。したがって、フィールドにアクセスするには複数の方法があります。
rsauthors.fields(au_lname).value
rsauthors(au_lname).value
rsauthors(1).value
rsauthors.fields(1).value
フィールド名を使用したり、コレクションでそのビットを使用したりできます
共有:データベースにフォームを送信する際に電子メール通知を送信することをASPは実装しています以下は引用されているコンテンツです:<%dim objcdomail set objcdomail = server.createobject(cdonts.newmail)objcdomail.from = xxx@h