小第刚学delphi,有一个问题弄不明白
请教一下!
我想联上一个accesse数据库
添加了一个ADOConnection,测试也成功的能联上数据库
添加了一个DBGrid组件,现在不知道应该怎么做才可以把两个组件联起来!
下了一个例子程序,在代码中也没有看到开打数据库,关闭数据库等操作~~
请教一下!
我想联上一个accesse数据库
添加了一个ADOConnection,测试也成功的能联上数据库
添加了一个DBGrid组件,现在不知道应该怎么做才可以把两个组件联起来!
下了一个例子程序,在代码中也没有看到开打数据库,关闭数据库等操作~~
unit demo;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, ExtCtrls, DBCtrls;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
Button1: TButton;
ComboBox1: TComboBox;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
cSql: String;
begin
if combobox1.ItemIndex <> 0 then begin
cSql := 'select * from demo where name = :name';
adoquery1.Close;
adoquery1.SQL.Text := cSql;
adoquery1.Parameters.ParamByName('name').Value := Combobox1.Text;
adoquery1.Open;
end
else begin
cSql := 'select * from demo ';
adoquery1.Close;
adoquery1.SQL.Text := csql;
adoquery1.Open;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
var
cSql: String;
begin
csql := 'select name from demo';
adoquery1.Close;
adoquery1.SQL.Text := csql;
adoquery1.Open;
while not adoquery1.Eof do begin
combobox1.Items.Add(adoquery1.fieldbyname('name').AsString);
adoquery1.next;
end;
adoquery1.Close;
end;end.
连接数据库在这个控件上实现,估计Active默认true了吧
adoquery1应该是关联ADOConnection1的
adoquery1.Close; //这是先关闭
adoquery1.SQL.Text := csql;
adoquery1.Open; //这是执行查询语句
adoquery1.SQL.Text := csql;
adoquery1.Open; //这是执行查询语句
用ADOConnection1,ADOTable1, DataSource1
ADOTable1的Connection设置为ADOConnection1
DataSource1的DataSet设置为ADOTable1
把DBGrid1的DataSource设置为DataSource1,formCreate中
先关闭 再打开ADOTable即可.