在插入完一条记录后,如何马上显示出来?如
....
with adoquery1 do
    begin
      sql.add('insert into phone(tele,name,address)');
      sql.add('values (:tele,:name:address)');
    end;
如果马上用OPEN,则会报错,请问还要怎么做才能使刚刚插入的记录马上在DBGrid中显示出来?

解决方案 »

  1.   

    with adoquery1 do
        begin
          sql.add('insert into phone(tele,name,address)');
          sql.add('values (:tele,:name:address)');
          ....
          Execsql;  //先执行
         sql.clear;
         sql.add('select * from phone');
         open;
      end;
      

  2.   

    你用了同一个Query插入和查询么?
    最好不要用一个
    然后用来查询的Query执行:
    AdoQuery2.Close;
    AdoQuery2.Open;
    就行了
    如果用了同一个
    就要重新写SQL语句
    with AdoQuery1 do
    begin
      Close;
      SQL.Text:='select * from phone';
      Open;
    end;
      

  3.   

    with adoquery1 do
        begin
          close;
          sql.clear;
          sql.add('insert into phone(tele,name,address)');
          sql.add('values (:tele,:name:address)');
          open;
        end;
      

  4.   

    错了,上面是excute;呵呵,忘了改了.
      

  5.   

    查寻和执行操作最好不要用同一个query