想问下,我设定了3个COMBOBOX,COMBOBOX1和Combobox2里的ITEMS我是手动写进去的,在选择后,我想在Combobox3的ITEMS里面动态加入根据前2个COMBOBOX从数据库中查询到的数据。问下怎么实现
我连接数据库用的是ADOQUERY
下面是一段程序:
suicombobox3.Enabled := true;
Dateform.ADOQuery1.Close;
Dateform.ADOQuery1.SQL.Clear;
Dateform.ADOQuery1.SQL.Add('select * from main where phyle = '''+trim(suicombobox1.Text)+''' and shiptype = ''' + trim(suicombobox2.Text) +'''');
Dateform.ADOQuery1.Open;
n := Dateform.ADOQuery1.RecordCount;
suicombobox3.Clear;
for i := 1 to n do
begin
suicombobox3.AddItem(这里怎么写?);
end;
或者告诉我combobox.additem怎么用的
我连接数据库用的是ADOQUERY
下面是一段程序:
suicombobox3.Enabled := true;
Dateform.ADOQuery1.Close;
Dateform.ADOQuery1.SQL.Clear;
Dateform.ADOQuery1.SQL.Add('select * from main where phyle = '''+trim(suicombobox1.Text)+''' and shiptype = ''' + trim(suicombobox2.Text) +'''');
Dateform.ADOQuery1.Open;
n := Dateform.ADOQuery1.RecordCount;
suicombobox3.Clear;
for i := 1 to n do
begin
suicombobox3.AddItem(这里怎么写?);
end;
或者告诉我combobox.additem怎么用的
如:suicombobox3.AddItem(ADOQuery1.FieldByName('列名').AsString);
Dateform.ADOQuery1.Open;
while ( not ADOQuery1.eof) do
begin
comboBOx1.Items.Add(ADOQuery1.fieldbyname('XXXX').asstring);
ADOQuery1.next;
end;未經測試
ADDITEM需要2个参数
procedure AddItem(Item:string;AObject:TObject);
后面哪个AObject怎么写?
Dateform.ADOQuery1.Close;
Dateform.ADOQuery1.SQL.Clear;
Dateform.ADOQuery1.SQL.Add('select * from main where phyle = '''+trim(suicombobox1.Text)+''' and shiptype = ''' + trim(suicombobox2.Text) +'''');
Dateform.ADOQuery1.Open;
n := Dateform.ADOQuery1.RecordCount;
suicombobox3.Clear;
with Dateform.ADOQuery1 do
begin
first;
while not eof do
begin
suicombobox3.AddItem(fieldbyname('yourfieldname').asstring);
next;
end;
end;
suicombobox3.AddItem(fieldbyname('yourfieldname').asstring);
改为
suicombobox3.Items.Add(fieldbyname('yourfieldname').asstring);