delphi读取数据库数据
CS模式下delphi实时读取数据库数据,数据量大,而且显示是用表格显示使用time刷新速度慢而且刷新效果差刷新时总是跳到第一条去,请问有什么方法能解决。能不能只刷新更新...
CS模式下delphi实时读取数据库数据,数据量大,而且显示是用表格显示使用time刷新速度慢而且刷新效果差刷新时总是跳到第一条去,请问有什么方法能解决。能不能只刷新更新的数据没有更新的不刷新。
是实时监控数据变化而不是添加数据后的刷新问题,效果就像同花顺的那样的效果,如果有数据更新就刷新表里的某个单元的数据或某行的数据而不是整个表都刷新 展开
是实时监控数据变化而不是添加数据后的刷新问题,效果就像同花顺的那样的效果,如果有数据更新就刷新表里的某个单元的数据或某行的数据而不是整个表都刷新 展开
4个回答
展开全部
提供另一个思路,不知道是不是适用你。
你可以使用客户端数据集。
你说的功能可灵活实现。你可以测试数据量的大小,即只处理数据表中的一部分数据,如100条。当然,客户端的刷新也只处理这100条。
另一个方式,你可以直接把新增的数据,放到客户端的数据集,可以删除的。其原理是记录在另一个记录表,记录变化的数据。这种方式,你逐条的处理都可以,很灵活。
还有,看你说的,不知道理解的对不对。你可以对数据感知组件,关掉刷新功能。这样数据在变化过程中不会刷新。在完成数据的处理后,再打开此功能。比如,你逐条对数据中的列做运算,在运算前可以关闭,处理完再打开。
不清楚的,可进一步沟通。
你可以使用客户端数据集。
你说的功能可灵活实现。你可以测试数据量的大小,即只处理数据表中的一部分数据,如100条。当然,客户端的刷新也只处理这100条。
另一个方式,你可以直接把新增的数据,放到客户端的数据集,可以删除的。其原理是记录在另一个记录表,记录变化的数据。这种方式,你逐条的处理都可以,很灵活。
还有,看你说的,不知道理解的对不对。你可以对数据感知组件,关掉刷新功能。这样数据在变化过程中不会刷新。在完成数据的处理后,再打开此功能。比如,你逐条对数据中的列做运算,在运算前可以关闭,处理完再打开。
不清楚的,可进一步沟通。
展开全部
修改数据可以这样
adoquery1.edit;
adoquery1.fieldbyname('字段A').asstring:='字符类型';
adoquery1.fieldbyname('字段B').asinteger:=100;
adoquery1.fieldbyname('字段A').asfloat:= 12.345;
adoquery1.post;
增加数据可以这样
adoquery1.append;
adoquery1.fieldbyname('字段A').asstring:='字符类型';
adoquery1.fieldbyname('字段B').asinteger:=100;
adoquery1.fieldbyname('字段A').asfloat:= 12.345;
adoquery1.post;
adoquery1.edit;
adoquery1.fieldbyname('字段A').asstring:='字符类型';
adoquery1.fieldbyname('字段B').asinteger:=100;
adoquery1.fieldbyname('字段A').asfloat:= 12.345;
adoquery1.post;
增加数据可以这样
adoquery1.append;
adoquery1.fieldbyname('字段A').asstring:='字符类型';
adoquery1.fieldbyname('字段B').asinteger:=100;
adoquery1.fieldbyname('字段A').asfloat:= 12.345;
adoquery1.post;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每次只读取你要的数据
然后又append 方法把记录append上去,
我们公司做HIs的,客户的情况和你一样
我们采用的就是这种方法
如果楼主还要具体的做法
可以联系我
然后又append 方法把记录append上去,
我们公司做HIs的,客户的情况和你一样
我们采用的就是这种方法
如果楼主还要具体的做法
可以联系我
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以考虑用两个qry,一个连grid,一个后台读取,读完后交换qry,重要的是客户体验。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询