本帖最后由 yongren803 于 2012-02-05 19:07:16 编辑

解决方案 »

  1.   

    批量更新?先保存主表然后保存明细表大概是:
    查询出新的字段2值给text,比如是:流水号+1保存时,重新查询出字段2新值(因为有并发情况),然后保存
    再循环cxgrid修改其字段2值,保存
      

  2.   

    我的主从表数据表结构从来不使用自增型字段,保存时采用delphi的巢状表,自动产生sql语句.
      

  3.   

    主表的主键不用自增里,而是由程序生成主键,比如GUID或根据时间+随机数生成,这样在插入数据库前,从表的插入也可知道主表ID
      

  4.   


    看这里, http://blog.csdn.net/henreash/article/details/4536915
      

  5.   

    adoquery+datasource+datasetprovider+clientdataset
    或者是adodataset+datasource 都可以实现巢状主从表结构.
    要用到clientdataset或者adodataset的DataSetField属性指定这个数据集的主表即可.
    保存时调用ApplyUpdates(0),delphi会自动产生SQL语句同时更新主表和从表.
      

  6.   

    先保存主表,使用自增主键,从表调主表主键保存,写存储过程再加一个TRANSACTION保护,写表用@@ERROR保护一下,不成功就返回个代码,应用服务端做个再试循环,不行返回客户端做其他选择等等就可以了
      

  7.   

    使用delphi主从表自动保存方法在网络环境有丢失风险
      

  8.   

    delphi的主从表在内部自动启用事物的.