naoga

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;


评论