大家好:
我在dbgrid里显示了Adodataset的命令文本select NodeID, PNodeID,SerNum ,Coding,Name,Model, Spec, SiHeft, Material, Attrib, Dosage, Re, HCost, Creator, CreatTime, Mender, AmendTime
  from  PTree
  inner join Basic on Basic.MID=Ptree.DataID  
order by PNodeID,NodeID,但是发现在dbgrid编辑后提交记录出现错误。
  因为用户在dbgrid中添加记录会影响两个表(应该在两个表里都添加条新记录),所以我想知道如何自己编写处理dbgrid的编辑功能(因为dbgrid编辑功能有缺陷,鼠标点击下条记录后此记录就马上写入数据库了,我能不能只让在dbgrid输入数据?),或是否自己再添加专门的增加新记录的编辑窗口?
   我不知道如何解决对内联的两个表的操作问题。
希望得到帮助 。谢谢

解决方案 »

  1.   

    如果只希望在dbgrid中进行输入数据,可以使用缓存机制。多表提交时建议使用事务来处理,可以写一个存储过程
      

  2.   

    dbgrid编辑功能有缺陷,鼠标点击下条记录后此记录就马上写入数据库了,我能不能只让在dbgrid输入数据?
    当然可以实现,adodataset的locktype设置为ltBatchOptimistic,在dbgrid写入数据时候只能post到缓冲区中,只有你用语句adodataset.updatebatch时,才会写入数据库!