我在调用ADO UPDATE方法的传统ASP类中有以下子例程。我正在使用ODBC驱动程序5.1使用MySQL数据库。ASP错误“密钥列信息不足或不正确。”当更新mySQL
如果我所有的子程序我得到以下错误:
Microsoft游标引擎错误“80004005” 键列信息不足或不正确。更新影响了太多的行。
Public Sub Update(table,id_field,id,fields,values)
Dim yy
Dim strQuery
Dim strFields
Const adOpenDynamic = 2
Const adLockOptimistic = 3
Const adCmdText = 1
strQuery = ""
For yy = LBound(fields) to UBound(fields)
strQuery = strQuery & fields(yy) & ", "
Next
strQuery = Left(strQuery, Len(strQuery) - 2)
strQuery = "select " & strQuery & " from " & table & " where " & id_field & "=" & id
i_objRS.CursorLocation = 3
i_objRS.Open strQuery, i_objDataConn, adOpenDynamic, adLockOptimistic, adCmdText
For yy = 0 To UBound(fields)
i_objRS(fields(yy)) = values(yy)
Next
i_objRS.Update
i_objRS.Close
End Sub
我试图改变CursorLocation属性和开放的参数,但仍无法得到它的工作。我正在更新的表格有一个唯一的自动编号,它是主键。
如果我使用命令对象,它工作正常。我会暂时坚持这一点。 – 2009-07-29 10:18:28