Delphi中在ComboBox中添加数据库中字段-,数据库
关键词:Delphi,ComboBox,数据库
1.在Form上添加ComboBox1,ADOQuery1,ADOConnection1(可不要)
2.连接好数据库,的数据库中有中有表biao1,有字段name
3.运行下面的程序,ComboBox1中会出现name下对应的东东
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var
i : integer;
begin
ComboBox1.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select name from biao1');
ADOQuery1.Open;
if ADOQuery1.RecordCount>0 then
begin
for i:=0 to ADOQuery1.RecordCount-1 do
begin
ComboBox1.Items.Add(ADOQuery1.FieldByName('name').AsString);
ADOQuery1.Next;
end;
end;
end;
添加数据库中字段内容到ComboBox
procedure TForm1.FormCreate(Sender: TObject);
var
i : integer;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from biao1');
ADOQuery1.Open;
Combobox3.Clear;
for i:=0 to ADOQuery1.FieldCount-1 do
begin
ADOQuery1.First;
combobox3.Items.Add(ADOQuery1.Fields.FieldName);
ADOQuery1.Next;
end;
Combobox3.ItemIndex := 0;
end;
//主窗体上放置ADOConnection1,ADOQuery1,DataSource1并有数据表,把组件属性设置完毕->OK!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ComboBox2: TComboBox;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i : integer;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from biao1');
ADOQuery1.Open;
//Combobox1*****
Combobox1.Clear;
if ADOQuery1.RecordCount>0 then
begin
ADOQuery1.First;
end;
for i:=0 to ADOQuery1.RecordCount-1 do
begin
//ADOQuery1.First;
ComboBox1.Items.Add(ADOQuery1.Fields.FieldName);
ADOQuery1.Next;
end;
Combobox1.ItemIndex := 0;
//Combobox2*****
Combobox2.Clear;
if ADOQuery1.RecordCount>0 then
begin
ADOQuery1.First;
end;
for i:=0 to ADOQuery1.RecordCount-1 do
begin
//ADOQuery1.First;
ComboBox2.Items.Add(ADOQuery1.FieldbyName(ComboBox1.Text).AsString);
ADOQuery1.Next;
end;
Combobox2.ItemIndex := 0;
end;
//当ComboBox1改变时ComboBox2随之改变
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i : integer;
begin
Combobox2.Clear;
if ADOQuery1.RecordCount>0 then
begin
ADOQuery1.First;
end;
for i:=0 to ADOQuery1.RecordCount-1 do
begin
//ADOQuery1.First;
ComboBox2.Items.Add(ADOQuery1.FieldbyName(ComboBox1.Text).AsString);
ADOQuery1.Next;
end;
Combobox2.ItemIndex := 0;
end;
评论