ADOquery多表查询更新问题
我用adoquery查询数据库并且用dbgrid显示,查询语句如下
select 盘点记录.商品编码,商品.名称 as 商品名称,商品.[单位 包装],盘点记录.复核数,盘点记录.盘点数
from 盘点记录,商品
where (盘点记录.盘点单号=:盘点单号) and (商品.编码=盘点记录.商品编码)
在dbgrid上能修改数据,但是当我调用UpdateBatch时,丢出错误EOleException with message缺少更新或刷新的键列信息。在网上转了一圈,有人说这种查询不能修改数据,那么我应该怎样查询才能修改数据呢?我想修改的是盘点记录上的数据,大家帮帮忙。
另外还想问大家一个SQL语句,查询某个字段是某一个值可以用 字段=字段值 来查询,但如果我想查询某个字段不等于某一个值又该怎么写呢?
[解决办法]
那就就是<> 吗
[解决办法]
建议用clientdataset 去过滤并更新
[解决办法]
在要修改的表里添加一个主键字段就可以修改了
[解决办法]
多表查询,不能直接post。只能单独update或insert。
[解决办法]
我的做法是:将数据集设为ltBatchOptimistic,仅用来显示数据,在保存数据时用循环Insert