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 将变量作为第二个参数传递给Execute. 如果 RowsAffected 为 1,那么您就设置好了。

于 2012-05-21T22:46:42.037 回答
1

两件事情:

  1. 您定义oRecordset为记录集,然后使用 & 检查 eofnewAdd
  2. 为什么要尝试从插入查询中填充记录?
于 2012-05-21T22:49:38.217 回答