先谈谈我自己对database和ADO控件待认知。
我是实践派,所以讲的是些实际问题。
(1)用database连接数据库,在用DBgrid做show的动作时候,你实现不了隔行变颜色的功能,而用ADOquery则可以。(即主要是因为adoquery.RecNO是可用的,而dataAcess中query。recno一直是-1,当然或许有高人能用database和query实现这个功能,这我就不知道了)。
(2)用ADOquery查询还有一个BUG:如果上次查询返回结果为0条记录,你再次点击Button进行查询会出现一个游标的相关错误。 以上是举2个例子,下面说说我的新困惑,希望有人能给个专业点的解答,不胜感激。
为什么同样查询一个表(数据有点多)。用DATABASE连数据库,DBgrid反应蛮快,而用ADOconnection连数据库,程序竟然假死。
开始我以为是程序有问题,于是换了个数据较少的表,结果:二者都正确SHOW出数据。
ADOconnection连数据库咋会这样?困惑。。
难倒是ADOconnection中的那个CACHESIZE要调一下?(试过,貌似没用)还是什么原因?
我是实践派,所以讲的是些实际问题。
(1)用database连接数据库,在用DBgrid做show的动作时候,你实现不了隔行变颜色的功能,而用ADOquery则可以。(即主要是因为adoquery.RecNO是可用的,而dataAcess中query。recno一直是-1,当然或许有高人能用database和query实现这个功能,这我就不知道了)。
(2)用ADOquery查询还有一个BUG:如果上次查询返回结果为0条记录,你再次点击Button进行查询会出现一个游标的相关错误。 以上是举2个例子,下面说说我的新困惑,希望有人能给个专业点的解答,不胜感激。
为什么同样查询一个表(数据有点多)。用DATABASE连数据库,DBgrid反应蛮快,而用ADOconnection连数据库,程序竟然假死。
开始我以为是程序有问题,于是换了个数据较少的表,结果:二者都正确SHOW出数据。
ADOconnection连数据库咋会这样?困惑。。
难倒是ADOconnection中的那个CACHESIZE要调一下?(试过,貌似没用)还是什么原因?
解决方案 »
- 用集合类型编写程序,输入一个单词,统计其中元音字母的个数
- 连接数据库时关于主机名的设定?
- Delphi+oracle,想在dbrid的網格中嵌入checkbox組件的效果。如何實現~~~~
- 有半年多没写delphi程序了,问问大家现在都用delphi的那个版?????
- 求助: 在程序里怎样把一个窗口(Form)激活变成活动窗口?
- 方法引用问题 在线等待望朋友们可以给于解答thank
- 有没有做过截取网络数据包的程序高手,有钱赚!高手请进。
- pos打印机问题
- 怎样实现复制、粘贴功能?
- GetDeviceCaps如何用?
- 请教关于视频组帧播放的问题
- 装上EhLib3控件之后,DBSumLst单元报错
一下子用table控件打开一个大表,是比较慢的,一般也没必要
原因是你没有关闭数据集,然后又打开。重新查询前,记得将ADOquery.close;为什么同样查询一个表(数据有点多),请问数据到底有多少行记录?数据显示慢,还与使用的数据库有关,DATABASE是预先导入数据,所以显示快。
button中的代码是这样的,
with ADOquery do
begin
close;
sql.clear;
sql.add('SQL');
open;
end;
所以不存在没断开的情况,因为每次都有先CLOSE。为什么同样查询一个表(数据有点多),请问数据到底有多少行记录?
------------------------------------------------------------
有点多的意思就是至少上万了,呵呵。
数据显示慢,还与使用的数据库有关,DATABASE是预先导入数据,所以显示快。
----------------------------------------------------------------
这点倒是学到了点东西。谢谢。