BDE+SQL2000
         商品资料表:商品编号,商品名称,规格
         单据明细表:商品编号,数量,单价,金额
用DbGridEh做单据明细录入,录入界面中如下:
商品编号,商品名称,规格,数量,单价,金额
其中商品名称和规格只是起到显示和调用商品记录作用,保存时只保存单据明细中相关字段值。以前都是用ADO实现的。给sql语句这样写:
'select 商品编号,商品编号 as 商品名称 from 单据明细表 '
用BDE这样写的话,dbgrideh就不能编辑了。 这个问题怎么解决,或者有什么别的方法可以实现此功能。(注:要用BDE和dbgrid(dbgrideh)分可以再给)

解决方案 »

  1.   

    呵呵,是delphi区的人气不行,还是看不上这种问题呢?
      

  2.   

    使用TQuery+TUpdateSQL就可以解决了!
      

  3.   

    放一Query1,UpdateSQL1;
    关联明细的Query.Sql
    select a.商品编号,b.商品名称,b.规格,a.数量,a.单价,a.金额
     from 单据明细表 a,商品资料表 b
    where a.商品编号=b.商品编号Query1.CachedUpdate := True;
    UpdateObject := UpdateSQL1;Query1.OnAfterPost
    begin
    try
      Query1.ApplyUpdate;
      Query1.CommitUpdate;
    except
      Query.CancelUpdate;
    end;
    双击UpdateSQL1
    table name 选择你要更新的Table就是'单据明细表'
    KeyFields:  选择:商品编码
    UpdateFiled: 选择:商品编号,数量,单价,金额 点
    Generate SQL完成,OK!