怎么用Delphi作出象金山词霸一样的索引查询?(100分)

  • 主题发起人 主题发起人 nethree
  • 开始时间 开始时间
N

nethree

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序调用一个数据库,希望能像金山词霸一样的索引查询,既在Edit控件中输入一个字母,同时在DBGrid中就自动跳到相应的单词上?
 
可以反复索引,输入一个字母自动搜索一次,列出相关项,再输入第二个字母,依次类推......
 
模糊查询:
Query1.close;
Query1.sql.text := 'select * from tablename where names like '''+edit1.text+'%''';
Query1.open ;
或用gotonearest
可以试一下.
 
在adoQuery中的Filter中输入要查询的内容如:Field1 like '%金山%'。
设置Filtered 为True.
每输入一个字母,就往Filter中加入一个字母。如:Field1 like '%金山词%'。
 
敲一个字母就进行一次模糊查询呗
 
to happynie:
按照金山词霸的处理方法,Filter 应该是 '金山%' 把,前面不需要模糊匹配
Edit1.OnKeyPress:
ADOQuery.Filter := 'Field1 like ''' + Edit1.Text + '%''';
 
那能像帮助文件中的索引一样,DBGrid中有全部记录,只是光标移动到相应位置,而不是只显示一部分结果吗?
 
应该可以的!!!!!!
祝你好运!!!!!!!!11
 
EDIT的KEYPRESS事件触发查询定位过程
 
看起来只好象 xuejian, 说的这个样子了.

没有什么 好的办法

一个字一个字的 增加.
 
你也可以兼用
模糊查询:
len:=length(edit.text)
Query1.close;
Query1.sql.text := 'select * from tablename where left(name,len)=edit.text';
Query1.open ;

 
谢谢各位!
 
table1.locate('字段名',edit1.text,[]);
 
多人接受答案了。
 
后退
顶部