无为政府网站:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC Microsoft Access Driver] ?

来源:百度文库 编辑:中科新闻网 时间:2024/05/14 05:27:28
错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC Microsoft Access Driver] 由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。/subAdd.asp, 第 115 行

第 115 行代码: MM_editCmd.Execute,请高手赐教
使用的是Access数据库,谢谢
100行到120行的代码是:请imayhoo前辈指点呀,你可以把你的QQ告诉我吗?谢谢
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If

简单了。

检查一下MM_editCmd变量。

或者你把我完整的subAdd.asp发上来,我告诉你哪里的问题。

下面这句——
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
插入主键重复。
将SQL使用response.write输出来看看,到底插入的是什么主键。

还有就是,可能你的数据库设计有错。
指定了不应该是唯一的索引为唯一索引了。

看起来这么复杂 实际上可能就是INSERT语句插入主键重复,检查下代码吧