主题:[原创]救命啊!!!!
VFP+MDB做的程序,当程序中更新后台数据时会出现如下错误:
[ODBC Microsoft Access Driver] OLE Automation 内部错误
其主要代码如下:
lIfSave=thisform.check1.Value&&这是登录表单中选择是否记住当前登录用户即密码的复选框.
IF SysFound("LIKE(ALLTRIM(UPPER(用户名)),'&cUaerName')",cSaveLogin)<=0&&此函数是自定义查询有无满足条件的记录数,没有则为0,出错误为负,有则返回实际存在的记录数.
IF lIfSave=.T.
INSERT INTO (cSaveLogin) (用户名,密码) VALUES (cUaerName,cUserPwd)
ELSE
INSERT INTO (cSaveLogin) (用户名,密码) VALUES (cUaerName,"")
ENDIF
ELSE
IF lIfSave=.T.
UPDATE (cSaveLogin) SET 密码=m.cUserPwd WHERE ALLTRIM(UPPER(用户名))=m.cUaerName
ENDIF
ENDIF
IF GETNEXTMODIFIED(0,cSaveLogin)#0&&判断有是数据记录被修改
BEGIN TRANSACTION
IF !TABLEUPDATE(1,.T.,cSaveLogin)
MESSAGEBOX(MESSAGE(),48,"错误信息")
END TRANSACTION
RETURN .F.
ENDIF
END TRANSACTION &&结束事务处理.
ENDIF
主要问题和疑点:当程序中没有运行那条UPDATE命令,后面的TABLEUPDATE()就会返回.T.,否则为.F.,用MESSAGEBOX(MESSAGE(),48,"错误信息")查看,则为"
[ODBC Microsoft Access Driver] OLE Automation 内部错误";如果程序中不运行UPDATE一句,则不会出现此错误,为什么会这样,真是头都大了,没法解决,请各位老师帮助解释一下.网上我也搜索过,也发现有很多有提出此问题,但都没有合理的解释,是不是MDB数据库有问题?为了确疹,我又运行了以前我的一个VFP+MDB的另一个程序,也出现错误,该程序一直运行好好的,我又没有动过,也出错误,真想不通!!!!
[ODBC Microsoft Access Driver] OLE Automation 内部错误
其主要代码如下:
lIfSave=thisform.check1.Value&&这是登录表单中选择是否记住当前登录用户即密码的复选框.
IF SysFound("LIKE(ALLTRIM(UPPER(用户名)),'&cUaerName')",cSaveLogin)<=0&&此函数是自定义查询有无满足条件的记录数,没有则为0,出错误为负,有则返回实际存在的记录数.
IF lIfSave=.T.
INSERT INTO (cSaveLogin) (用户名,密码) VALUES (cUaerName,cUserPwd)
ELSE
INSERT INTO (cSaveLogin) (用户名,密码) VALUES (cUaerName,"")
ENDIF
ELSE
IF lIfSave=.T.
UPDATE (cSaveLogin) SET 密码=m.cUserPwd WHERE ALLTRIM(UPPER(用户名))=m.cUaerName
ENDIF
ENDIF
IF GETNEXTMODIFIED(0,cSaveLogin)#0&&判断有是数据记录被修改
BEGIN TRANSACTION
IF !TABLEUPDATE(1,.T.,cSaveLogin)
MESSAGEBOX(MESSAGE(),48,"错误信息")
END TRANSACTION
RETURN .F.
ENDIF
END TRANSACTION &&结束事务处理.
ENDIF
主要问题和疑点:当程序中没有运行那条UPDATE命令,后面的TABLEUPDATE()就会返回.T.,否则为.F.,用MESSAGEBOX(MESSAGE(),48,"错误信息")查看,则为"
[ODBC Microsoft Access Driver] OLE Automation 内部错误";如果程序中不运行UPDATE一句,则不会出现此错误,为什么会这样,真是头都大了,没法解决,请各位老师帮助解释一下.网上我也搜索过,也发现有很多有提出此问题,但都没有合理的解释,是不是MDB数据库有问题?为了确疹,我又运行了以前我的一个VFP+MDB的另一个程序,也出现错误,该程序一直运行好好的,我又没有动过,也出错误,真想不通!!!!