J
jane2001
Unregistered / Unconfirmed
GUEST, unregistred user!
本人最近开发的一套系统,数据库使用Sql Server7.0,前台使用Delphi5
结合Corbar技术,设计为三层结构体系。在一些地方为了提高速度,我将
ClientDataSet.Locate改为ClientDataSet.FindKey时,发现了几个奇怪的
现象,请各位高人指点迷津。
1.在以往使用的Table中,如果使用到FindKey时,必须先指定IndexName或
IndexFieldNames。但我现在没有在任何地方赋IndexName或IndexFieldNames,
而直接使用ClientDataSet.FindKey,一切正常,测试结果速度比原来提高了
三倍,我很高兴,但很疑惑。
2.在以往使用的Table中,如果使用到FindKey时,必须是数据库中已经建立了
要FindKey的索引字段。但我现在随意使用ClientDataSet.FindKey数据库中
没有建立索引的字段,一切正常。
3.在以往使用的Table中,如果使用到FindKey时,必须是数据库中已经建立了
要FindKey的索引字段(复和字段),而且FindKey时,顺序必须与建立索引的
顺序相同。但我使用ClientDataSet.FindKey时,顺序如果与建立索引的顺序
相同,程序出错,FindKey字段顺序改变时,一切正常。
以上问题,本人甚感疑惑,如果那位高人熟悉ClientDataSet中,FindKey的
用法,请提供其详细用法,本人将非常感谢。
结合Corbar技术,设计为三层结构体系。在一些地方为了提高速度,我将
ClientDataSet.Locate改为ClientDataSet.FindKey时,发现了几个奇怪的
现象,请各位高人指点迷津。
1.在以往使用的Table中,如果使用到FindKey时,必须先指定IndexName或
IndexFieldNames。但我现在没有在任何地方赋IndexName或IndexFieldNames,
而直接使用ClientDataSet.FindKey,一切正常,测试结果速度比原来提高了
三倍,我很高兴,但很疑惑。
2.在以往使用的Table中,如果使用到FindKey时,必须是数据库中已经建立了
要FindKey的索引字段。但我现在随意使用ClientDataSet.FindKey数据库中
没有建立索引的字段,一切正常。
3.在以往使用的Table中,如果使用到FindKey时,必须是数据库中已经建立了
要FindKey的索引字段(复和字段),而且FindKey时,顺序必须与建立索引的
顺序相同。但我使用ClientDataSet.FindKey时,顺序如果与建立索引的顺序
相同,程序出错,FindKey字段顺序改变时,一切正常。
以上问题,本人甚感疑惑,如果那位高人熟悉ClientDataSet中,FindKey的
用法,请提供其详细用法,本人将非常感谢。