多个dbgrid 怎么共用一个adoquery?

life923 2009-08-21 01:30:54

我是多个dbgrid 共用一个adoquery


但是adoquery变了的话 多个DBGRID的内容也会变 ,这咋解决?





...全文
167 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinoalex 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 life923 的回复:]
我是多个dbgrid  共用一个adoquery


但是adoquery变了的话 多个DBGRID的内容也会变 ,这咋解决?



[/Quote]

要不你就用CDS+ADOQUERY一条一条记录写到CDS里. 设DBGRID列的可视否
life923 2009-08-26
  • 打赏
  • 举报
回复
那算了 还是老老实实写好了
flexitime 2009-08-24
  • 打赏
  • 举报
回复
这个有什么所谓啊~~~?一个DBGrid对应一个DataSource一个DataSet,这其实是很正常的事~~。多吗?你想要同时打开多少个表?
life923 2009-08-22
  • 打赏
  • 举报
回复
这样也太多了吧,datamodule 都放满了

一个dbgrid,就要 一个DataSource和一个ADOQuery 晕了...,



life923 2009-08-22
  • 打赏
  • 举报
回复
把第二个DBgird设置 成新的ADOQuery3 又没问题.....

life923 2009-08-22
  • 打赏
  • 举报
回复
dbgrid 连多个datasource,多个datasource连一个Adoquery
>>>>>>>>>>>>>>>>
不行啊,会提示缺少字段
procedure TFormUser.initDBGridEh();
begin
DataModule1.ADOQuery2.close;
DataModule1.ADOQuery2.sql.clear;
DataModule1.ADOQuery2.sql.add('Select a.*,from c_sys_user a ');
DataModule1.ADOQuery2.open;
end;
wintergoes 2009-08-21
  • 打赏
  • 举报
回复
dbgrid 连多个datasource,多个datasource连一个Adoquery
xjq2003 2009-08-21
  • 打赏
  • 举报
回复
把所有dbgrid绑定同一个datasource1,datasource的dataset属性设置为adoquery1

或者每个dbgrid绑定一个datasourcex,所有的datasourcex的dataset属性设置为adoquery1
swetter_hundsun 2009-08-21
  • 打赏
  • 举报
回复
如果程序不大,建议楼主建一个DataModule,以便实现对数据库连接的统一管理。

对数据库的链接这样设置
ADOConnection作为与数据库直接连接的源,设置好它的connectionstring属性,active改为true
ADOQuery的connection属性设置为adoconnection组件
然后,在各个需要用到ADOQuery的程序模块,只要把DataModule给use进来即可使用
DataModule实例名.ADOQuery组件名的形式来操纵ADOQuery中的SQL属性,提交各种操作

然后如果某个程序模块的dbgrid需要用到adoquery,只要拖出一个datasource组件,将datasource组件的dataset指向adoquery组件,将dbgrid的datasource属性指向新拖放出来的datasource组件即可

这样子做的原因是统一数据库管理,与数据库的最终连接都通过ADOConnection
如果想将增删查改操作分开的话,可以拖出4个ADOQuery控件来专门做各个操作
life923 2009-08-21
  • 打赏
  • 举报
回复
把所有dbgrid绑定同一个datasource,datasource的dataset属性设置为adoquery
更新就是把
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(.......');
adoquery1.Open;
>>>>>>>>>>>>>>>>>>>>>>>>>>>
我目前也是这样, 但是 这样的话 一个dbgrid更新的话 ,另一个dbgrid也会是更新同样的内容,
我 这两个 dbgrid 是不同的.不能一样的内容
zykaixin 2009-08-21
  • 打赏
  • 举报
回复
楼上的,返回的多个怎么设置对应DBGrid呢
bdmh 2009-08-21
  • 打赏
  • 举报
回复
需要显示哪个grid,就把数据集绑定到哪个grid

如果是sql server的话,支持多语句查询,那样query可以返回多个数据集,每个grid就就可以单独连接其中的一个表
火龙岛主 2009-08-21
  • 打赏
  • 举报
回复
动态关联。
wsxcdx 2009-08-21
  • 打赏
  • 举报
回复
用一个显示的内容都是一样的
sparklerl 2009-08-21
  • 打赏
  • 举报
回复
如果多个DBGrid显示的数据集相同的话 可以用同一个ADOQuery,否则显示的数据都相同
fjtxwd 2009-08-21
  • 打赏
  • 举报
回复
把所有dbgrid绑定同一个datasource,datasource的dataset属性设置为adoquery
更新就是把
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(.......');
adoquery1.Open;
这种写一遍好了

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧