D6下使用Lookup字段,原字段如果存在NULL则集成环境下报错 (100分)

  • 主题发起人 主题发起人 mailhui
  • 开始时间 开始时间
M

mailhui

Unregistered / Unconfirmed
GUEST, unregistred user!
我在 Delphi 6下开发项目,使用了Lookup字段。
如果原字段存在空的纪录,则程序在开发环境下运行总报以下错误
Project RS.exe raised exception class EOleException with message '发生未知错误。'.
Procedd stopped. Use Step or Run to continue.

但直接运行不报错,D5下从未出现过该问题。请处理过该问题的大虾帮帮忙。
 
不能吧,你用的是什么,ADO,BDE??
d5下ADO有bug,d6下已经修正了,具体说一下
 
我用的 ADO,已经升级Pack2。
发现只要对使用了LookUP字段的表添加新纪录,给字段付值时便报错。
除非先给定义了Lookup字段的那个字段付值。
 
这个问题我已经回答了N次了
解决方法有3
1。把lookup字段所在的Table的AutoCalcField设为False
2.把lookup字段所在的Table的insert时给lookup字段先赋一个值
3.把lookup字段的LookUpCache设为True(不推荐,影响速度)
 
只把 AutoCalcField 设为 False 不能解决问题。
我原用Append,未曾想到用Insert。
感谢碧大侠的提醒,但目前必须用Insert付初值总是有点麻烦。
有否更好的办法?
奇怪了,我准备用Access数据库做个例子传上来大家看看,
但Access数据库好像没有问题。
 
感谢碧血剑对此问题的答复。
现在将AutoClacField设为Fasle,果然起作用了。

 

Similar threads

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