delphi dbGrid显示数据库里面的一张表

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:13:46
delphi 中我想用dbGrid显示数据库里面的一张表 MSSQL数据库
procedure GetAllUser;
begin
FrmUser.ADOQuery1.Close;
FrmUser.ADOQuery1.SQL.Clear;
FrmUser.ADOQuery1.SQL.Add('select * from users');
FrmUser.ADOQuery1.Open;
FrmUser.dbgUser.DataSource:=FrmUser.ADOQuery1.DataSource;
end;

我的代码 为什么 执行了之后没有效果呢》?
FrmUser.ADOQuery1.Close;
FrmUser.ADOQuery1.SQL.Clear;
FrmUser.ADOQuery1.SQL.Add('select * from users');
FrmUser.ADOQuery1.Open;
FrmUser.DataSource1.DataSet:=FrmUser.ADOQuery1;

我这样写了 ,,可还是 不行
是不是要设置 dbgrid的列 啊 ?

  1. 我提供一个最常规的方法吧

  2. 首先,依次添加TADOConnection(con1)、TADOQuery(qry1)、TDataSource(ds1)、TDBGrid(dbgrd1)控件,以一个普通的TButton(btn1)控件作为触发事件,括号内为我自己取的控件名。

  3. 设置qry1的Connection属性为con1,ds1的DataSet属性为qry1,设置dbgrd1的DataSource属性为ds1。

  4. 在con1中的ConnectionString属性中设置数据库连接属性,在qry1的SQL属性中填写SQL查询语句。

  5. 双击btn1控件添加如下事件:

  procedure TForm1.btn1Click(Sender: TObject);

  begin

  con1.Close;

  //可以在con1的属性窗口手动设置,也可以代码动态添加连接,如下是SQL Server的常用连接方式

  //con1.ConnectionString:='Provider=SQLOLEDB.1(这是SQL Server的连接方式);Password=你的数据库密码;Persist Security Info=True;User ID=用户名(sa);Initial Catalog=默认数据库;Data Source=连接名或者别名';

  con1.Open;

  qry1.Close;

  //同con1,它的SQL属性可以手动设置,也可以动态添加

  //qry1.SQL.Add('select * from test');

  qry1.Open;

  qry1.ExecSQL;

  end;

PS:

  1. 这只是用DBGrid显示数据库表的一种方式,确实还有很多别的方法。

  2. 如果你只是单纯的显示一张表的数据,可以把TADOQuery换成TADOTable