conn.execute と rs.open の違いは、conn.execute、rs.open、command.execute メソッドの使用法が大きく異なることです。
通常、レコード セットを形成するには
Set rs=conn.execute (SQL)
を使用できます。または直接
rs=CONN.execute(SQL)
および
Set rs=Server.CreateObject("ADODB.Recordset")
rs.open SQL,CONN,0,1 または rs.open SQL,CONN
この場合、open のパフォーマンスは通常、前のパフォーマンスよりわずかに優れています。
(コマンドオブジェクトの柔軟性が高く、実行範囲が広い)
CONN.execute を使用すると、次の set rs=conn.execute(SQL) を閉じずに直接実行できます。
ただし、パフォーマンスと速度は大幅に低下します。
およそ 2 ~ 5 倍遅いです (私はこれを msSQL ループで 1000 回テストしました。信じられない場合は、すぐに自分でテストしてください)。次の rs=conn.execute を実行する前に必ず閉じてください。
良いアイデア
です
!
単一オブジェクトの rs rs.open を使用する場合、次のレコード セットを開く前に表示を閉じる必要があります。そうしないとエラーが発生します。SQL、CONN、0、1 の場合でも速度は基本的に同じな
ので、気に入っています。 CreateObject(" adodb.recordser" を使用します (複数のレコード セットをインターリーブする必要がない場合、複数のレコードは問題ありません!)
それなら最初から最後まで使ってください!
開いて閉じます。最後のセット rs=nothing は終了します。
さらに重要なのは、open はデータベース メタデータの多くの属性を操作するための非常に柔軟な方法を提供します。
宝箱を開けると金色の光の中にすべてが見えます!
オープンを使用しなければならない状況はたくさんあります。
そして conn.execute は黒い布の下のフィルムを変更したいと考えています~~~こっそり~~非常に簡単です。
例:
rs1.open SQL1,conn,0,1
rs.open SQL,conn,1,3
rs(0)<0 の場合、rs(0)=0
rs(1)=aaa
rs(2)=bbb
rs.update 'レコードセットを更新してデータベースに書き込みます
rs.addnew '新しいレコードを追加します
rs(0)=1
rs(1)=ddd
rs(2)=kkk
rs.アップデート
id=rs(3) rs(s) '取得されるフィールドは自動番号です。 //これは非常に一般的に使用され、
rs1 に関連する新しいレコードを追加します
。ID rs。
rs1("id"=id
rs1(1)=...
..
rs1.update
rs1.close:set rs1=nothing
rs.close:set rs=nothing
上記の操作に CONN.execute が使用される場合、4 つの CONN.execute が使用されます
CONN.execute("update .."
CONN.execute("テーブル 1 に挿入:"
rs=CONN.execute("新しい自動 ID を選択"
CONN.execute("テーブル 2 に挿入"
どちらの方法がより論理的で一目瞭然でしょうか?
Recordset を開いて録音する興味深い方法もあります。
Set rs=server.CreateObject("Adodb.recordset")
と考えると少し混乱します。
Set rs=server.CreateObject("Adodb.recordset"
rs.open SQL1,CONN
rs.open SQL2、CONN は、
同じ名前の 2 つのオブジェクトを同時に設定して 2 つのレコード セットを開き、それらは使用可能になります。
'列名がこれら 2 つのレコード セットのメタデータと一致している限り
「それでは正常に動作しています!!」
Set rs=server.CreateObject("Adodb.recordset"
を展開します
)
Set rs=server.CreateObject("Adodb.recordset"
Set rs=server.CreateObject("Adodb.recordset"
Set rs=server.CreateObject("Adodb.recordset"
rs.open SQL1,CONN
rs.openSQL2、CONN
rs.open SQL3,CONN
同じ名前の 2 つの rs よりも大きい
rs.open SQL4、CONN
は試したことはありません。SQL を使用してレコード セットを開くような感じです。
前にもこんな感じで使ってたけど眩しくないはず!!
===============
いつ何を使う?
これは私の個人的な経験に基づいたものです。
データベースに一度だけアクセスする必要がある場合は、execute を使用します。
データベースに対して複雑な操作を実行する場合は、rs.open を使用するのが最善です。