我写的一个销售程序,要求能从数据库中提取数据,是个主从数据,要求点击combobox中的手机品牌时相应的型号也会在combobox2中得到更新,可是第一次执行下面的代码能实现,可是第二次就不行了,当点击combobox时,只有原来已经点选的内容,combobox1和combobox2的内容无法更新,怎么回事??combobox3和combobox4都那正常执行!其中ADOTable3和ADOTable是主从表,求高手帮忙啊!!
procedure Tmob.Button4Click(Sender: TObject);
var i:integer;
begin
datasource1.AutoEdit:=true;
ADOTable1.Insert;
Combobox1.Clear;
Combobox2.Clear;
Combobox3.Clear;
Combobox4.Clear;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
Maskedit1.Text:=DatetoStr(Date());
ADOTable3.Active :=false;
ADOTable4.Active :=false;
ADOTable3.Open;
ADOTable4.Open;
//添加部门列表
ADOTable3.Active :=true;
ADOTable3.first;
for i:=1 to ADOTable3.RecordCount do
begin
Combobox1.items.add(ADOTable3.FieldValues['kinds']);
ADOTable3.Next;
end;
ADOTable4.Active :=true;
ADOTable4.first;
for i:=1 to ADOTable4.RecordCount do
begin
Combobox2.items.add(ADOTable4.FieldValues['ids']);
ADOTable4.Next; //在box2中添加型号
end; ADOTable5.Active :=true;
ADOTable5.first;for i:=1 to ADOTable5.RecordCount do
begin
Combobox3.items.add(ADOTable5.FieldValues['supper']);
ADOTable5.Next;
end; //在box3中添加进货地点 ADOTable6.Active :=true;
ADOTable6.first;for i:=1 to ADOTable6.RecordCount do
begin
Combobox4.items.add(ADOTable6.FieldValues['sales']);
ADOTable6.Next; //在box3中添加销售地点
end;
ADOTable3.Close;
ADOTable4.Close;
end;
procedure Tmob.Button4Click(Sender: TObject);
var i:integer;
begin
datasource1.AutoEdit:=true;
ADOTable1.Insert;
Combobox1.Clear;
Combobox2.Clear;
Combobox3.Clear;
Combobox4.Clear;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
Maskedit1.Text:=DatetoStr(Date());
ADOTable3.Active :=false;
ADOTable4.Active :=false;
ADOTable3.Open;
ADOTable4.Open;
//添加部门列表
ADOTable3.Active :=true;
ADOTable3.first;
for i:=1 to ADOTable3.RecordCount do
begin
Combobox1.items.add(ADOTable3.FieldValues['kinds']);
ADOTable3.Next;
end;
ADOTable4.Active :=true;
ADOTable4.first;
for i:=1 to ADOTable4.RecordCount do
begin
Combobox2.items.add(ADOTable4.FieldValues['ids']);
ADOTable4.Next; //在box2中添加型号
end; ADOTable5.Active :=true;
ADOTable5.first;for i:=1 to ADOTable5.RecordCount do
begin
Combobox3.items.add(ADOTable5.FieldValues['supper']);
ADOTable5.Next;
end; //在box3中添加进货地点 ADOTable6.Active :=true;
ADOTable6.first;for i:=1 to ADOTable6.RecordCount do
begin
Combobox4.items.add(ADOTable6.FieldValues['sales']);
ADOTable6.Next; //在box3中添加销售地点
end;
ADOTable3.Close;
ADOTable4.Close;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货