怎样在ComoboBox选择后,通过ADOQuery组件选择CommboBox的值,得到BuildID(数据类型:string),赋给edit1,然后再在Ado

  • 主题发起人 主题发起人 pingguolu
  • 开始时间 开始时间
P

pingguolu

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在ComoboBox选择后,通过ADOQuery组件选择CommboBox的值,得到BuildID(数据类型:string),赋给edit1,然后再在AdoTable2中添加edit1的值。(0分)<br />请大家帮忙?

procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Open;
ADOTable1.First;
CbBN.Items.Clear;
While not ADOTable1.Eof do begin
cbBn.Items.Add(ADOTable1.fieldByName('BuildName').AsString);
ADOTable1.Next;
end;
CbBN.ItemIndex := 0;

with ADOQuery1 do begin
Close;
SQL.Clear;
SQL.Add('select BuildID from Building where BuildName='+cbBN.itemscbBN.ItemIndex]);
Open;
end;
edit1.Text := ADOQuery1.FieldValues['BuildID'];
with ADOtable2 do begin
open;
Append;
FieldByName('BuildID').AsString := edit1.Text;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Open;
ADOTable1.First;
CbBN.Items.Clear;
While not ADOTable1.Eof do begin
cbBn.Items.Values[ADOTable1.fieldByName('BuildName').AsString] := ADOTable1.fieldByName('BuildID').AsString;
ADOTable1.Next;
end;
CbBN.ItemIndex := 0;

with ADOQuery1 do begin
Close;
SQL.Clear;
SQL.Add('select BuildID from Building where BuildName='+cbBN.items.Values[cbBN.Text]);
Open;
end;
edit1.Text := ADOQuery1.FieldValues['BuildID'];
with ADOtable2 do begin
open;
Append;
FieldByName('BuildID').AsString := edit1.Text;
.......
end;
 
用 DBLookupComboBox 不就可以了。用不着为了ID而用两个SQL。
 
建议用DBLookupComboBox数据源连接ADOTable1的'BuildName'字段,然后:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=ADOTable1.fieldbyname('BuildID').AsString;
ADOTable1.Append;
ADOTable1['BuildID']:=ADOTable1.fieldbyname('BuildID').AsString;
end
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
948
SUNSTONE的Delphi笔记
S
后退
顶部