关于ADO数据集控件中的Lookup类型字段,在其Lookupkeyfields属性指向的字段中存在NULL值的,就会出现'EOleException with message '发生未知错误',这个提示。经过调试后验证只有以下3种办法可以解决:
1.把lookup字段所在的DataSet的AutoCalcField设为False(不建议,此方法会影响使用效果,需要关联显示的Lookup字段不会立刻自动刷新)
2.把lookup字段所在的DataSet的Append时给lookupkeyfield字段先赋一个值(此方法不错,但如果存在多个不同的keyfields,如客户名称、员工名称,后面的员工名称还是会报错)
3.把lookup字段的LookUpCache设为True(速度受到很大的影响)
4.不做任何处理,只是在调试时报错,程序单独运行时不报错
5.改用计算字段
6.用ClientDataset