青
青云
Unregistered / Unconfirmed
GUEST, unregistred user!
这两个大Bug从delphi7到delphi2007就一直没有解决过,
delphi2009这次有没有解决,我也不知道,没有兴趣再去研究d2009了,
毕竟它的改动太大,支持了Unicode,以前的那么多项目很难移植过去。
不过所有的d7的项目转到d2007还可以,不是太麻烦,
只是有明显的是:d2007的ClientDataSet在记录条数多的情况下明显的慢于D7;
闲话少说:
两大Bug的内容是:
1.中文过滤问题:这个问题我以及在这里谈了很多次,据说d2009仍然没有解决;
症状是:
1.1不能过来单个中文字,比如'%你%',
2.2 如果该字段正好是两个字的中文,不如是‘你们’那么能不能过滤'%你们%'
这个bug,困扰了7,8年,我也早失去了信心;
所以这个问题,我想也不要再讨论了;
关键是第二个问题:
2. 我一般使用oracle数据库,为了使效率最高;
所以一直用DbExpress驱动+TClientDataSet
有的时候,一个查询数据记录太多,所以我就把
TClientDataSet.PacketRecords 从默认的-1修改成一个较小的数,比如 1000;
这样每次一显示,最多1000条,提高了现实效率,也避免窗体一打开就死机的样子;
但是当我拉动DbGrid的时候,拉到最后,发现记录数比总记录数多了1000条;
也就是比如本来一共5000条,第一次显示1000条,拉动DbGrid,最终显示6000条!
你会发现前面1000条的记录在DbGrid里都重复了两次!
太郁闷了,所以我还是只能是设置 TClientDataSet.PacketRecords =-1 ;
这个bug,在D7,D2007也是同样有。
TClientDataSet是我在项目中,最最重要的一个组件。
为了这个PacketRecords 的bug,同样也困扰了我很多年。
真是痛不堪言。
在这里发一下牢sao,缓解下情绪
最后再附加我不敢确认的Bug:
TClientDataSet 好像不能支持多字段的任意排序;
比如有3个字段A,B,C
要么按照 A,B,C正排序,要么反排序;
比如要实现:order by A ,B desc ,C ;
这样任意组合的对字段排序好像不能;
也许是我对它的排序研究的不透,不过我确实研究了多年,没有实现。
delphi2009这次有没有解决,我也不知道,没有兴趣再去研究d2009了,
毕竟它的改动太大,支持了Unicode,以前的那么多项目很难移植过去。
不过所有的d7的项目转到d2007还可以,不是太麻烦,
只是有明显的是:d2007的ClientDataSet在记录条数多的情况下明显的慢于D7;
闲话少说:
两大Bug的内容是:
1.中文过滤问题:这个问题我以及在这里谈了很多次,据说d2009仍然没有解决;
症状是:
1.1不能过来单个中文字,比如'%你%',
2.2 如果该字段正好是两个字的中文,不如是‘你们’那么能不能过滤'%你们%'
这个bug,困扰了7,8年,我也早失去了信心;
所以这个问题,我想也不要再讨论了;
关键是第二个问题:
2. 我一般使用oracle数据库,为了使效率最高;
所以一直用DbExpress驱动+TClientDataSet
有的时候,一个查询数据记录太多,所以我就把
TClientDataSet.PacketRecords 从默认的-1修改成一个较小的数,比如 1000;
这样每次一显示,最多1000条,提高了现实效率,也避免窗体一打开就死机的样子;
但是当我拉动DbGrid的时候,拉到最后,发现记录数比总记录数多了1000条;
也就是比如本来一共5000条,第一次显示1000条,拉动DbGrid,最终显示6000条!
你会发现前面1000条的记录在DbGrid里都重复了两次!
太郁闷了,所以我还是只能是设置 TClientDataSet.PacketRecords =-1 ;
这个bug,在D7,D2007也是同样有。
TClientDataSet是我在项目中,最最重要的一个组件。
为了这个PacketRecords 的bug,同样也困扰了我很多年。
真是痛不堪言。
在这里发一下牢sao,缓解下情绪
最后再附加我不敢确认的Bug:
TClientDataSet 好像不能支持多字段的任意排序;
比如有3个字段A,B,C
要么按照 A,B,C正排序,要么反排序;
比如要实现:order by A ,B desc ,C ;
这样任意组合的对字段排序好像不能;
也许是我对它的排序研究的不透,不过我确实研究了多年,没有实现。