存放查询结果的问题

zhanshijiao 2002-05-10 03:42:05
我有一个dbgrid 用来存入查询结果,
当我查询一次时,dbgrid已有查询结果,我想让他不消失,第二次查询时,结果累加
在上一次之下,该怎么做?
请教?
...全文
21 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
东部一绝 2002-05-10
  • 打赏
  • 举报
回复
我也同意楼上的
如果说要查询的数据字段对应只有一个存放表(只要TQuery有对应的数据结构),
可以将该Query1控件的cachedupdata属性改为true,requestlive属性改为true(这样作数据都在缓存内,不影响后台的数据库中的数据,即TQuery对应的表),通过另一Query2将第一次、第二次甚至第n次查询的数据append到Query1中.
softwing 2002-05-10
  • 打赏
  • 举报
回复
不知道你是不是从同一个地方取数据
如果用ClientDataSet的TCustomClientDataSet.PacketRecords属性可以定义每次从provider取得的数据笔数,就可以一次次的向dbgrid添加记录了
jiaorg 2002-05-10
  • 打赏
  • 举报
回复
同意用stringgrid
lizhenjia 2002-05-10
  • 打赏
  • 举报
回复
学习
东部一绝 2002-05-10
  • 打赏
  • 举报
回复
只能在第二次查询时修改where 语句(重新组织条件语句),
或暂时存在临时表中,
或则将DBGrid换成stringgrid
qybao 2002-05-10
  • 打赏
  • 举报
回复
临时表
每次查询结果写入临时表,刷新dbgrid
bluemeteor 2002-05-10
  • 打赏
  • 举报
回复
笨点的法子:建个临时表,每次查询结果insert到里面

希望有好点的,期待ing
zjj_horse 2002-05-10
  • 打赏
  • 举报
回复
dbgrid只是起显示作用的。所以你要显示累加数量的话。则必须先对数据集进行操作,之后再显示。
zjqyb 2002-05-10
  • 打赏
  • 举报
回复
用临时Ttable
tt:ttable;
first;
tt.batchmove(yoursql,batcopy);
next;
tt.batchmove(yoursql,batappend);
dbgrid.datasource.dataset:=tt;

5,386

社区成员

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

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