gpt4 book ai didi

mysql - 更新 mySQL 时出现 ASP 错误 "Key column information is insufficient or incorrect."

转载 作者:行者123 更新时间:2023-11-30 23:43:02 26 4
gpt4 key购买 nike

我在调用 ADO UPDATE 方法的经典 ASP 类中有以下子例程。我正在使用 ODBC 驱动程序 5.1 的 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 属性和开放参数,但仍然无法正常工作。我正在更新的表有一个唯一的自动 ID,它是主键。

最佳答案

诊断动态创建的 SQL 的第一件事是检查实际创建的 SQL 字符串。然而,使用动态游标执行更新并不是实现行更新的好方法。

改为使用 ADODB.Command 对象并创建更新命令。注意不要将值连接到创建的 SQL 命令中。而是使用参数位置标记(通常是?但我不记得这是否会改变我的 DBengine(我不是 mySQL bod))并将参数添加到 ADODB.Command 参数集合。

关于mysql - 更新 mySQL 时出现 ASP 错误 "Key column information is insufficient or incorrect.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com