小弟要实现的是一个商品收银系统,通过一个DBgrid添加要销售的商品,但是结帐的时候必须把DBGRID里面的数据复制到一张主表中,然后再清空DBGRID里面的数据,以达到记录商品销售信息的功能。小弟现在只想到了这么一个方法,请教这个问题如何解决,或者各位大哥还有什么更好的方法?
急,在线等待回复!!

解决方案 »

  1.   

    1.使用 insert into () select .. from .. 在服务器上将数据插入到主表。
    2.用ADO返回一个没有记录的主表数据集合recordset ,然后用本地的recordset,循环填充这个数据集,然后提交到服务器,但是这种没有第一个效率高。
      

  2.   

    我的临时表名叫temptable主表叫sell
    我写的是insert into sell select * from temptable
    这样好象不对,应该怎么写
      

  3.   

    insert into sell(fielda,fieldb,fieldc)
    select fielda,fieldb,fieldc from temptable
    注意字段类型是否匹配,以及字段的顺序,
      

  4.   

    用ClientDataSet吧.
    扫商品时,增加ClientDataSet记录,结帐后ClientDataSet.ApplyUpdates(0)保存数据到数据库.
    然后再ClientDataSet.EmptyDataSet.
    等待下一次收银.
      

  5.   

    ClientDataSet这个控件我没用过,请教一下具体应该怎么写,谢谢楼上的兄弟