【发布时间】:2009-07-27 14:22:12
【问题描述】:
我在调用 ADO UPDATE 方法的经典 ASP 类中有以下子例程。我正在使用 ODBC 驱动程序 5.1 使用 mySQL db。
如果我所有的子程序我得到以下错误:
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 属性和 open 参数,但仍无法使其正常工作。我正在更新的表有一个唯一的自动 ID,它是主键。
【问题讨论】:
标签: mysql asp-classic vbscript ado