代码如下,bttton1click为向数表中插入数据,button2click是显示插入之后的数据,但是在运行的时候为什么button2要点两次才能显示根新的数据呢.
procedure TForm2.Button1Click(Sender: TObject);
  
begin
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select max(销售单编号) as 最大编号 from 销售清单');
  adoquery1.Open;
  maxnum:=adoquery1.FieldByName('最大编号').asstring;
    if  (combobox2.Text='')or(combobox1.Text='')or(edit1.text='') then
         showmessage('客户号不能为空,且销售单明细数据必须完整')
     else
        begin
        adocommand1.CommandText:='insert into 销售清单([产品编号],[业务员],[销售数量],[单价],[总价],[销售时间]) values('''+combobox1.Text+''','''+combobox2.text+''','''+edit2.Text+''','''+edit1.Text+''','''+edit3.Text+''','''+edit4.Text+''')';
        adocommand1.Execute;
        combobox2.text:='';
        combobox2.text:='';
        edit1.text:='';
        end;
end;procedure TForm2.Button2Click(Sender: TObject);
begin
        ListView1.Items.Clear;
        with ADOQuery1 do
        begin
        SQL.Clear;
        SQL.Add('select * from 销售清单');
        open;
        while not Eof do
    begin
        with ListView1.Items.Add do
    begin
        Caption := FieldByName('销售单编号').AsString;
        subitems.add(fieldbyname('产品编号').asstring);
        SubItems.Add(FieldByName('业务员').AsString);
        SubItems.Add(FieldByName('销售数量').AsString);
        SubItems.Add(FieldByName('单价').AsString);
        SubItems.Add(FieldByName('总价').AsString);
        SubItems.Add(FieldByName('销售时间').AsString);
    end;
    Next;
end;end;
end;