谁告诉我错误原因在哪里,我给200分!!!(200分)

  • 主题发起人 主题发起人 mtllyy
  • 开始时间 开始时间
LookupCache是Lookup字段把所指的Dataset读入缓存
如果你的Lookup字段所查找的Dataset记录很多的话,速度会很慢。
另外第一个方法不行吗,我就是用的第一个方法呀,没问题呀
 
碧血剑,你好!
1。把lookup字段所在的Table的AutoCalcField设为False
这个方法我也试过,不过这个属性是在设计时打开呢,还是在运行的时候打开?
另外,还有就是是打开主表的这个属性还是打开LOOKUP的那个表的这个属性?
第一种方法可否给我详细介绍一下?我刚开始用ADO,还不熟悉。
可否贴一段代码给我看看呢? 麻烦你了啊, 多谢!!!
 
这是ADO的Bug不需要写代码,不知道你用的是Delphi5还是6, 7我用的是5
只要把主表的AutoCalcField设为False就行
 
我用的是DELPHI6+WIN2000,已经打了第二个补丁。
“只要把主表的AutoCalcField设为False就行”
你的这个主表的意思是现在操作的表,还是LOOKUP字段的那个表?
是这样,我一个表A中有两个字段ID1,ID2,
表B,C中有ID,NAME
我现在通过lookup字段分别从表B,C中关联取出NAME字段,之后表A应该为
ID1,NAME1,ID2,NAME2
我想问的是要设置表A的AutoCalcField设为False呢?
还是设置表B,C的AutoCalcField设为False?
多谢!
 
我用的是D5,解决D5一定没问题,看来D6这个Bug还是没改,你试一下先
如果不行只好改ADODB这个单元了
 
碧血剑,你好!
我刚刚才试过,好象还是不行!
我的程序中关联比较多,举例:
有A,B,C三个表,其中A为主表,通过一关键字段跟B,C表想关联
另外,还有A1,B1,C1,三个表,这三个表是一些基本的资料表
在A,B,C三个表中都有LOOKUP字段,分别从A1,B1,C1中取数据
而且,A1,B1,C1三个表中还有LOOKUP字段,分别从其他表中取数据
关联比较复杂,我刚才尝试把A,B,C三个表的AutoCalcField设为False还是出现错误
实在不知该怎么办了,难道要放弃LOOKUP?
另外,可否告知改ADODB这个单元怎么改?看来这是最后一个办法了。
多谢老兄!!!
如果你帮我解决了这个ADO问题,我再给你加100分,呵呵,分数不是问题,关键是要解决
问题啊!这个鬼问题缠了我两天了,虽然编译后运行没问题,但在IDE中出现这个错误真
的很麻烦,因为运行调试都烦的要命!
 
我用的是经过修改的ADODB单元,D5的
我还没有用D6。但是我刚才用D5按你的方法试了一下,没问题
不知你现在是在什么时候出问题,浏览还是增加。
另外看一下你的字段编辑器,你的Lookup字段的类型一定不能是Widestring类型,应该是string
 
我用的办法是碧血剑说的第三种:
把lookup字段的LookUpCache设为True
 
LOOKUP字段的类型是STRING的,另外还有一些INTEGER的,是不是跟这个有关系?
我再试一下看!
我刚才试,在TABLE.open的时候会出现,另外,那个带INTEGER的表浏览的时候也会出现
 
wqxsdly,

我知道的三种方法是可以解决的,但是效率真的很受影响啊!
 
我没装D6,但我觉的可能是你的字段类型设置有问题
要不然你把那个出错的单元和表结构发给我,我帮您看一下。
 
没有办法,现在只好用速度慢的那个方法了。
谢谢碧血剑,希望以后你用D6了问题解决后能CALL我一声啊!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部