rs.open sql, conn または conn.execute(sql) [ここでの SQL は delete、update、insert] のいずれであっても、実行後には閉じられたレコード セットが返されます。 rs.open sql, conn: sql が delete, update の場合。 , insert クローズされたレコードセットが返されます。使用中は、rs.close を記述せず、ファイルの最後に rs.close を記述します。
複数のレコード セット rs1.open sql1,conn を中央に置くことができ、最後のレコード セットがレコード セットを閉じます: rs.close rs1.close
conn.execute(sql) SQL が削除、更新、または挿入の場合、使用中に rs.close を使用せず、ファイルの最後に rs.close を書き込みます。
中間には複数のレコード セット (rs1.open sql1,conn) が存在でき、最後のレコード セットはレコード セットを閉じます (rs.close rs1.close)。
SQL が更新、挿入、削除の場合は、 conn.execute(sql) を使用するか、括弧 conn.execute sql を省略できます。
sql が select ステートメントの場合、set rs=conn.execute(sql) を使用する必要があります。括弧は必須であり、省略できません。これは、戻り値を含む vbscript の特性によるものです。
呼び出しは括弧で囲む必要がありますが、戻り値のない呼び出しには括弧は必要ありません。
注: rs.open sql、conn、または conn.execute(sql) [ここでの SQL は delete、update、insert] のいずれであっても、実行後に閉じられたレコード セットが返されます。
つまり、sql が挿入、更新、または削除ステートメントの場合、set rs=conn.execute(sql) の RS は意味を持ちません。
1.接続.実行
sql=select * from admin where username='xiaozhu'
set rs=conn.execute(sql)
実行後にレコードセットを自動的に閉じる
最後に、接続を閉じるだけです
接続閉じる
conn=何も設定しない
2.rs.オープン
set rs=server.createobject(adodb.recordset)
sql=select * from admin where username='xiaozhu'
rs.open SQL,conn,1,1
いくつかのパラメータ、つまりロック方法とカーソル移動方法を自分で設定できます。
最後に、レコードセットと接続を閉じます
rs.close
rs=何も設定しない
接続閉じる
conn=何も設定しない
3.コマンド.実行
sql=select * from admin where username='xiaozhu'
set rs=command.execute(sql)
************************************************* * ***************************
1.
set rs=conn.execute (select ステートメントの場合) rs.recordcount=-1 を取得します
rs.open sql,conn (sql は select 文) 取得される rs.recordcount は通常のレコード数です
2.
rs.open はデータベースを開きます。 conn.execute は SQL 命令を実行します。
set rs=conn.execute(insert,update,delete) は閉じられたレコードセットを返します
set rs=conn.execute(select) は閉じられていないレコードセットを返します
3.
CONN.EXECUTE(SQL,影響を受ける行,C)
パラメータの意味:
SQL の値には、SQL ステートメント、テーブル名、ストアド プロシージャ名、またはデータ プロバイダーが許容できる任意の文字列を指定できます。パフォーマンスを向上させるには、C パラメータに適切な値を指定することが最善です
オプションのパラメータ RowsAffected は、INSERT、UPDATE、または DELETE クエリの実行後に影響を受ける数値を返します。これらのクエリは、閉じられた Recordset オブジェクトを返します。
SELECT クエリは、RowsAffected 値 -1 を返し、1 つ以上のコンテンツ行を含む開いた Recordset を返します。
4.
conn.execute sql は、次のコードのように、レコードセット オブジェクトを返す必要がない場合の使用に適しています。
sql=delete from enews where id=&cstr(id)
conn.SQL を実行する
レコードセット オブジェクトを返す必要がある場合は、次のコードを使用します。
sql=select from enews where id=&cstr(id)
set rs = conn.execute(sql)
ここで、execute(sql) の括弧を削除すると (つまり、set rs = conn.execute sql となります)、ステートメントが終了していないなどのエラー メッセージが表示されます。構文形式を確認したところ、2 つあることがわかりました。詳細は次のとおりです。
形式 1: 接続オブジェクト名.実行 (SQL コマンド)。
形式 2: 接続オブジェクト名.実行(データテーブル名)。
上記の形式からわかるように、実行後の SQL 命令は括弧内に含まれていますが、実際には、削除や変更などの操作を実行する場合は、正しく実行するために SQL 命令を括弧内に含める必要はありません。これですか?クエリを実行するには、sql コマンドを括弧で囲む必要があります。そうしないとエラーが発生します。手元にある ASP チュートリアルをすべて読みましたが、検索しても答えが見つかりませんでした。理由については、文法規則について話すだけではなく、正しい答えが得られることを願っています。