想通过保存主表master后的ID,将其从表master_item的master_ID对应上,大致代码如下:
..
dm.clientdatast1.append;//主表
dm.clientdatast1.fieldbyname('name').asString:='myname';
dm.clientdatast1.post;
dm.clientdatast1.applyupdate(0);
...
dm.clientdatast2.append; //
dm.clientdatast2.fieldbyname('maste_id').asInteger:=dm.clientdatast1.fieldbyname('ID').assinteger;
dm.clientdatast2.fieldbyname('price').float:=0;
dm.clientdatast2.post;
dm.clientdatast1.applyupdate(0);
....
//为什么master_id总为0,望大虾相助!!!

解决方案 »

  1.   

    dm.clientdatast2.fieldbyname('maste_id').asInteger:=dm.clientdatast1.fieldbyname('ID').assinteger;错了吗??
      

  2.   

    你并没有给从表中新记录的ID赋值啊,它就默认为0了。
    dm.clientdatast1.append
    dm.clientdatast1.fieldbyname('name').asString:='myname';
    //加上下面这一行
    dm.clientdatast1.fieldbyname('id').asinteger:=i
    //
    dm.clientdatast1.post;
    dm.clientdatast1.applyupdate(0);
      

  3.   

    dm.clientdatast1.fieldbyname('id').asinteger:=i这句是错的!!ID不需要赋值的。
    有没有其他办法的啊??
      

  4.   

    如果是SQLSERVER或其他雷同
    请先看看你的两个表的外间,
    是否有连接主从关系
    按照你说,应该有个一对多关系,
    如果没有建立关系,则需要将两个表关联并连接字段,然后选中“级连更新删除插入”;
    即可
      

  5.   

    你的主表ID是自动产吧,如是,在添加后没刷新之前都为O,refresh这后再读取就是真正的ID。
      

  6.   

    to DelphiBird(爱你等于爱自己) :
       你的意思我知道,是将两表建立关联,moursesource对应,moursefield字段相连,口我的insert,delete等都是用代码。jqd(jqd) 的方法也许可以,我试试