如何对TQuery的查询结果表进行编辑?(100分)

  • 主题发起人 主题发起人 jacer
  • 开始时间 开始时间
J

jacer

Unregistered / Unconfirmed
GUEST, unregistred user!
先提过一个类似的问题,不过没说清楚,再提一遍。
我想对TQuery的查询结果进行修改,是这样的:
Table1:
商品号 商品名
A1 B1
A2 B2
A3 B3

Table2:
商品号 生产厂家 供货比例
A1 C1 0.4
A1 C2 0.6
A2 C1 0.8
A3 C2 0.7
A3 C3 0.3

Table3:
商品号 需要量
A1 D1
A2 D2
A3 D3

Table4:
商品号 生产厂家 实际计划量
A1 C1 4000
A1 C2 6000
A2 C1 8000
A3 C2 5000
A3 C3 5000

查询的结果是要生成这样一个表:
商品号 生产厂家 需要量 理论计划量(计算) 实际计划量
A1 C1 10000 4000 4000
A1 C2 10000 6000 6000
A2 C1 10000 8000 8000
A3 C2 10000 7000 5000
A3 C3 10000 3000 5000

我希望这个查询得到的表中有一项(实际计划量)是可以编辑的,也就是说,
Table4是可以编辑的。因为实际计划可能与理论的不一样。
能实现吗?
BTW:我将RequestLive属性改为true,而且SQL中没有用DISTINCT和ORDER BY
还是不行。我可能做法不对,请指教。
 
实现是可以实现的,不过要使用CacheUpdate与TUpdateSQL。
 
datasource.autoedit
 
TUpdateSQL 中只处理 table4
另外双击 query 控件将不需要修改的field设置为readonly
 
Pipi & 沈前卫:
thanks to answer my question.
能不能更详细一些?我学数据库不久。
我用了TUpdateSQL,将TQuery的UpdateSQL指向该TUpdateSQL,
但在DBGrid里还是不能编辑。
也许用DBEdit能实现,但肯定有更简单的办法。而且用DBEdit很不直观。
帮我啊!
 
置Query的CachedUpdate=True
在TUpdateSQL的UpdateSQL中类似写
Update table4 set
实际计划量=:实际计划量
where 商品号=:OLD_商品号 and 生产厂家:=OLD_生产厂家
试一把
 
多人接受答案了。
 

Similar threads

后退
顶部