DELPHI 5.0 ENT + ADO MDAC 2.7 SP1 + MSSQLSERVER 2000 SP3 出现的问题. (200分)

N

nobelpu

Unregistered / Unconfirmed
GUEST, unregistred user!
本人使用 DELPHI 5.0 ENT + ADO MDAC 2.7 SP1 + MSSQLSERVER 2000 SP3 编写
C/S程序出现如下三个问题,让我没办法继续下去了,不知有哪位碰到过类似的问题,如何解的,不妨告诉我。
1.TADOQuery UpdateBatch 时出现"第一行,在'ds_data'附近有语法错误",ds_data为我的数据库名。
2.当表中只有一笔记录时,Delete 出现"Eof 或BOF 为真, ...."。
3.TADOQuery UpdateBatch 时,出现"多步操作失败,请检查每一步的状态"。


 
1: 使用adoquery时,在sql中不需要数据库名,数据库的连接是在connectionstrion中定义的,
或使用adoconnection控件来连接.
2:当表中只有一笔记录时,Delete 出现"Eof 或BOF 为真的提示是正常的,因为数据库中确实
没有记录了,当然如果程序运行出现问题要另当别论.
3.可以用sql的事件探查器来跟踪一下,查看一下你的错误发生在什么地方。
 
这个问题我好像也有个,我如果不装ADOUPDATE就会有这样的问题,应该是要为ADO打补丁吧。
你找个打一下看看。
 
ADOQUERY 的 SQL并没有 '数据库名',例如 SELECT * FROM PReport_Table
探查器来跟踪下的SQL为,INSERT INTO "ds_data".."PReport_Table"......
其中"PReport_Table"为表名。
将INSERT INTO ..复制出来能正常执行。
问题在于,以上三个问题,有时出现,有时不出现。
 
ADOEXPRESS 两个补丁我都打过了。
 
不会吧?那偶也不明白了。up 一下。
 
有时出现,有时不出现。可能是你的数据表中的字段有限制,
你插入的数据是否符合数据表中定义的数据类型和约束?
 
用 DELPHI 5.0 ENT + ADO MDAC 2.7 SP1 + MSSQLSERVER 2000 SP3
我有补丁程序,给DELPHI5和ADO MDAC SP1的补丁的密码老是不对,我的CDKEY
SKI-HD3-C139哪个,就是不灵,有没有,告诉我你打的密码是什么啊?好么,
 
问题目前已解决,写出来与大家分享吧。为什么要这样解决,我也说不出原因,都是试出来的。
表单上所有ADOQuery的Prepared = True 后,不再出现问题(1)。
问题(2),主从表间的删除操作,在主表的BeforeDelete 中去做 明细表的 Delete 必定会出现。换成其它方式处理,不再见到此问题出现。
问题(3)是因为ADOQuery中的某个字段类型与数据库上中对应的字段类型匹配造成。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
719
import
I
顶部