1

私はこのコードを持っています:

Set oConnection = Server.CreateObject("ADODB.Connection")
Set oRecordset = Server.CreateObject("ADODB.Recordset")

oConnection.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;UID=xxxx;PWD=xxxx;DATABASE=xxxx; OPTION=3;"
    Sqltemp = "INSERT INTO rsvptable (fname, lname, fbid, rsvp, streetaddress, city, state, zip, streetaddress2, cellphone, acode) " & _
              "VALUES ('" & firstName & "', '" & lastName & "', " & fb & ", 0, '" & address1 & "', '" & city & "', '" & strState & "', " & zip & ", '" & address2 & "', " & cell & ", " & returnedNums & ")"

set newAdd = oConnection.execute(Sqltemp)

if newAdd.EOF then
   response.write "end"
else
   response.write "not end"
end if

そして、それは私にこれを言い続けます:

ADODB.Recordset エラー '800a0e78'

オブジェクトが閉じているときは操作できません。

/add.asp、136 行目

136行目は次のとおりです。

if newAdd.EOF then

私はここで何を見落としているでしょうか?

アップデート

ここで私の答えを見つけました!:o)

データベースの更新が成功したかどうかを確認する方法は?

4

2 に答える 2

1

http://www.w3schools.com/ado/met_conn_execute.asp

行を返すクエリの場合、結果は新しい Recordset オブジェクトに格納されます。行を返すクエリでない場合は、閉じた Recordset オブジェクトが返されます。

INSERT は行を返すクエリではないため、閉じたレコードセットを返すため、できません.EOF。Rows Affected bu をチェックして、変数を 2 番目の引数として に渡しますExecute。RowsAffected が 1 の場合、設定は完了です。

于 2012-05-21T22:46:42.037 に答える
1

2つのこと:

  1. レコードセットとして定義oRecordsetしますが、使用して eof をオンにしますnewAdd
  2. 挿入クエリからレコードセットを作成しようとしているのはなぜですか?
于 2012-05-21T22:49:38.217 に答える