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

delphi中我想用dbGrid显示数据库里面的一张表MSSQL数据库procedureGetAllUser;beginFrmUser.ADOQuery1.Close;F... 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的列 啊 ?
展开
 我来答
一雨尘埃
2016-03-30
知道答主
回答量:12
采纳率:0%
帮助的人:1.5万
展开全部
  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控件,ds1的DataSet属性相应的做下改变就行了。

  3. 而且你在使用TADOQuery和TADOTable控件时都会看到它们自己也都有ConnectionString属性,你估计会想那直接用这个属性直连数据库多方便,还省去了TADOConnection这个控件,其实不然,我建议你还是用着,不仅仅是一个TADOConnection可以共享给多个控件进行数据库连接,我在自己日常开发的时候发现用TADOTable控件直连数据库表有时会出现一些问题,比如说若你连的那张表有复合索引的时候就会有问题,具体原因比较复杂,谅不详述。

  4. 这是我第一次帮别人回复Delphi的问题,纯手打,若有没解释清楚地地方还可以再问我,大家可以一起学习交流,望采纳。

huxingz
2016-04-06 · TA获得超过108个赞
知道小有建树答主
回答量:202
采纳率:50%
帮助的人:68.8万
展开全部
首先, 你要有个数据库连接(比如:BDE 里面的 DATABASE), 并设置好连接参数

然后, 拖动一个查询(比如:BDE里面的QUERY), 在SQL里面写入(select * from 表), 具体怎么写根据你自己的情况来,
再就是:拖动DATASOURCE到查询下面.(在属性的DATASET里面设置数据集, 就刚才那个QUERY了)
接下来,拖动DBGRID到界面, 设置datasource属性, 选择那个数据源, 最后在代码里面写打开query.open;

就可以了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaiyanghao123
2009-11-12 · TA获得超过1615个赞
知道小有建树答主
回答量:1219
采纳率:66%
帮助的人:570万
展开全部
其实连接表你不用写什么代码的啦!设置ADOQuery1的sql属性为:select * from users 。DataSource1的dataset为ADOQuery1,dbGrid的DataSource为DataSource1就可以了!窗体onshow事件写ADOQuery1.action := true; 就得了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanganfuz
推荐于2018-04-10 · TA获得超过159个赞
知道答主
回答量:189
采纳率:0%
帮助的人:118万
展开全部
空间上面放一个dbgrid,一个ado,一个datasource,datasource指向ado,dbgrid指向datasource,这样就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heart经济贸易
2016-03-17
知道答主
回答量:43
采纳率:0%
帮助的人:11.8万
展开全部
1、先调用数据库 我的是uses DB;
2、然后在data access先添加一个DB控件,然后在属性里找connection,下拉选一个数据库连接;
3、在ADO再添加一个 ADO query 找connection ,下拉选一个数据库连接。
4、双击dbGrid修改里面字段代码 改成数据库里的字段.
新手 勿喷...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式