代码如下,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;
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;
adoconnection1.BeginTrans;
try
....
adoconnection1.CommitTrans;
except
adoconnection1.RollbackTrans;
end;