我在使用ADOQUERY1,TABLE1,进行BOM表的查询,我使用ADOQUERY1把数据查询出来插入一个表中,然后使用TABLE1进行显示.我进行单步调试的时候.结果正确,但是我一运行起来就出问题,最后一条记录就不能显示?我真的很想不通啊,我查看表中的数据是正确的.但为什么会少一条记录啊????

解决方案 »

  1.   

    怎么用的是Table不是ADOTable?
    ADOQuery1负责查询BOM表,ADOTable负责显示Table表(将ADOTable与表Table)ADOQuery1.close;
    ADOQuery1.SQL.Text:='insert into Table select * from BOM where ...'
    ADOQuery1.ExecSQl;
    ADOTable1.close;
    ADOTable1.open;
      

  2.   

    刚才试验了一下,
    用下面的语句没有问题的。'select * into test from bom where ...'
      

  3.   

    哪有你那么写的。
    你的sql语句是一个执行语句,是没有返回值的,因此只能用execSql,因此你的最后一句Open肯定是要错的。open只能用在有返回数据的sql语句。
    比如Select语句才能用Open。