C++Builder6中ADOQuery使用了lookup字段后出现未知错误

转自http://blog.csdn.net/LoveVV99

有一个商品表,包含了很多信息,其中一些信息与其他表比如商品分类、工厂等有外键关系,商品表中记录的只是其他表的ID字段,但是我希望它能够显示从其他表中查询得到的实际的内容,于是我为ADOQuery添加了lookup字段用来得到实际内容,但是此时ADOQuery就只能进行浏览、修改和删除了,只要一进行append()就出现未知错误,怎么都无法继续。查了google翻了很久之后终于发现了一个解决的办法:链接如下:

http://www.delphijs.net/forum_view.asp?forum_id=15&view_id=47

 

原来只需要设置一个属性即可: 将ADOQUERY的lookup字段的lookupCache设为True(缺省为False)即可。真是。。。 CBuilder的帮助实在不是太好,这种问题都没有醒目的提醒。

记下这个问题来,希望能给遇到同样问题的programmer一点帮助。

 

 

在使用BCB6做数据库程序的过程中,遇到了一些问题,有些问题认真想想其实是可以避免的,但是我觉得还是挺容易遇到的,所以还是写下来备忘

  1. 使用lookupField时需要注意几个问题: lookupField的lookupCache默认为false,必须将其修改为true才能够在使用了该lookupField的表中增加记录;
  2. 使用显示字段调整时需要注意的问题: 必须为数据集在设计时或者在程序中动态显式地添加好字段,否则会在刷新数据集时重新显示所有的字段,而不仅仅是设定Visible的字段;
  3. 使用SQL Server 的GUID字段时需要注意的问题:如果该字段是在服务器端生成(比如字段默认值是newid()并且插入时未指定该字段的值)、程序使用了用户端游标和除动态游标外的DataSet,则该种字段在插入记录时不会自动更新用户程序段的记录,程序得到的该字段的值是全部为0的字符串,需要重新刷新数据才能得到其值;应该有什么更好的办法来解决吧?哪位有好的办法请留言大家一起分享

还有其他问题,想到了再来添吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值