dbExpress 性能确实不错!
我曾经试验了dbExpress 和 ADO(ado也设置只向前)的只读向前功能。
环境:XP SP2,MSSQL2000,D7
AMD2500+,512M
while not DATASET.eof do
begin
next;
end;
不连接任何感知控件和TDATASOURCE。
dbExpress 不到15秒就运行完毕,可ADO足足花了18分钟左右。
这性能确实令人足够疯狂。
但随着深入研究,发现BUG如下(连接MSSQL2000,D7+Update1):
1.dbExpress 在取元数据有问题,GetFieldNames竟然没有数据。
2.dbExpress 在取元数据有问题,GetTableName(Tstringlist)有问题,需要
GetTableName(Tstringlist,'dbo')才可以。
但是,如果这样做,就很难解决大型数据库之间通用问题。
3.李唯《delphi7高效数据库程序设计》中的取得元数据例子,竟然是不能获得元数据。
4.以上3个问题,在delphi2005下没有任何问题。
5.本来想在delphi2005用dbExpress算了,但发现delphi2005有个大问题。我程序是用包(bpl)的方式构建框架,可TDataModule一直有问题,重建TDataModule还是有问题,TDataModule竟然转换成TFORM,然后报了很多属性不存在的错误。晕,我就知道delphi2005的Win32确实比delphi7少了很多内容,没想到还是如此低级,,,
------------------
请大家畅谈dbExpress有哪方面的BUG或使用经验,好让我对dbExpress 有一个全面的评估和了解。
人人参与均有分送上,谢谢大家。
我曾经试验了dbExpress 和 ADO(ado也设置只向前)的只读向前功能。
环境:XP SP2,MSSQL2000,D7
AMD2500+,512M
while not DATASET.eof do
begin
next;
end;
不连接任何感知控件和TDATASOURCE。
dbExpress 不到15秒就运行完毕,可ADO足足花了18分钟左右。
这性能确实令人足够疯狂。
但随着深入研究,发现BUG如下(连接MSSQL2000,D7+Update1):
1.dbExpress 在取元数据有问题,GetFieldNames竟然没有数据。
2.dbExpress 在取元数据有问题,GetTableName(Tstringlist)有问题,需要
GetTableName(Tstringlist,'dbo')才可以。
但是,如果这样做,就很难解决大型数据库之间通用问题。
3.李唯《delphi7高效数据库程序设计》中的取得元数据例子,竟然是不能获得元数据。
4.以上3个问题,在delphi2005下没有任何问题。
5.本来想在delphi2005用dbExpress算了,但发现delphi2005有个大问题。我程序是用包(bpl)的方式构建框架,可TDataModule一直有问题,重建TDataModule还是有问题,TDataModule竟然转换成TFORM,然后报了很多属性不存在的错误。晕,我就知道delphi2005的Win32确实比delphi7少了很多内容,没想到还是如此低级,,,
------------------
请大家畅谈dbExpress有哪方面的BUG或使用经验,好让我对dbExpress 有一个全面的评估和了解。
人人参与均有分送上,谢谢大家。
可能与dbexpress的驱动程序版本有关,李维的书是针对Borland自己的数据库的,可能Borland对自己数据库的驱动程序比较热心,没有问题。你把Delphi2005的dbexpmss.dll复制到Delphi7中试试看。
(我没有试过)
D7下的DBexpress for mssql以及mysql在设置TSQLDataSet时均不能取得表名和字段名,但时在D9中就可以。说明D7下的驱动程序在取得元数据确实存在问题。
唉,对borland越来越失望了。
delphi江河日下,JBuilder又逐渐给eclipse蚕食市场份额。
我一直不敢用D9。
我打算用ADO和dbexpress混合使用,遇到查询统计和报表打印,dbexpress还是不错。
////////////////////////
性能真的有这么好啊....去试试..
比如 core lab