再问定位记录???一头雾水(100分)

  • 主题发起人 主题发起人 yfli
  • 开始时间 开始时间
Y

yfli

Unregistered / Unconfirmed
GUEST, unregistred user!
在Locate或Find等命令可以定位记录,但是如果符合条件的记录不止一条,locate也只能找到符合记录中的首条记录,如何找到下一条或者下几条记录呢?(DELPHI 初学者,目前使用SQL SERVER6。5数据量较大,吾知各位大侠比有良方,请赐教,兄弟驽钝,最好贴一些原码,或E-MAIL TO yfli@mail.casipm.ac.cn,不胜感激。李京大侠如在网上请多多关照,多谢多谢。)
 
使用Sql Server最好使用Tquery;速度快
 
find方法用于建过索引的字段,这种情况下用个循环取下一条记录并判断条件可得到
所有符合条件的记录
locate则不需要建过了索引,想得到多条符合的记录最好用Filter或OnFiltered事件
代替locate,这样全部数据集都是符合条件的。
samples:
find 方法:
with table1do
begin
if find(SomeCondition) then
while FindNextdo
if IndexedFiled = SomeCondition then
// 符合
else
break;
end;

 
关键: 在使用完Find操作后, 再次使用FindNext.
 
同意SEASKY AND DELPHI FAN2
建立所以后直接找到不同的,当中都是相同的
 
既然是用sql server 那么应当多用query,
只查一条记录匹配,用locate或find,如果吃不准,干脆一个query搞定。
 
用Tquery,TDatasource,TdbGrid三个控件组合,后一个相应参数指向前一个
Tquery里的SQL语句直接写一句Select * from table1 where 条件,
然后把Tquery的Active指成True,就可直接看效果了
 
对不起,最近上网帐号出了一些问题,所以回复大家慢了,关于此问题我是通过建立
一个新的QUERY做TTABLE的索引的方法来实现的速度还算可以接受,谢谢大家所提,
现在分配分数如下。
 
对不起,最近上网帐号出了一些问题,所以回复大家慢了,关于此问题我是通过建立
一个新的QUERY做TTABLE的索引的方法来实现的速度还算可以接受,谢谢大家所提,
现在分配分数如下。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
719
import
I
后退
顶部