哥哥们,如何实现以下功能!小女子没什么分弹希望有哥哥帮帮忙^_^(5分)

  • 主题发起人 主题发起人 beautylily
  • 开始时间 开始时间
B

beautylily

Unregistered / Unconfirmed
GUEST, unregistred user!
我用query的sql查询时候代码如下:
query1.close;
query1.sql.clear;
query1.sql.add('select * from table1');
query1.sql.add('where xm='''+trim(edit1.text)+'''');
try query1.open;
ecept query1.excsql;
end;
if query1.eof then
showmessage('can not find')
else
showmessage('succeed');
我查到记录后它就只是停在这条记录的地方,navigator就不能上一条下一条了
我想如何能实现查到记录后,记录能停在查到那条记录上,而且navigator还能按上下一条
哥哥请帮帮我阿!我的论文又退回来要改阿!
没有什么分!小女子很笨!希望哥哥们有详细代码就详细的写给小女子好吗^_^!
不胜感激!
 
query1.close;
query1.sql.clear;
query1.sql.add('select * from table1');
query1.sql.add('where xm='''+trim(edit1.text)+'''');
try query1.open;
ecept query1.excsql;//應該是:query1.open;
end;
if query1.eof then
showmessage('can not find')
else
showmessage('succeed');
 
你用SELECT只选到了一条记录,当然谈不上上一条下一下
你应该用 QUERY的LOCATE方法,知道笨是件好事情,这样才
会有进步,你学得确实后死,好象还没明白 SELECT 会生成一个数据集
而你的导航器的操作也只限于这个数据集,SELECT选到的数据集只有一条
记录的时候又怎么可能还有上有下.你应该是 定位一条记录还不是选出一条记录
你这样把QUERU开一次关一次没必要的 直接在
QUERY里写'select * from table1
然后把他设置为OPEN就是 查找XM=??姓名是吧代码这样写
在你EDIT1的ONCHANGE事件里这样写
此是模糊匹配
if trim(edit1.text)<>'' then

begin
IF query1.Locate('xm',trim(edit1.text),[loPartialKey])=TRUE then
showmessage('succeed')
else
showmessage('can not find');
END
如果完整匹配请把[loPartialKey]改为[loCaseInsensitive]
看你的代码意思应该是完整匹配.
 
用Open还用ExecSQL
真是难以理解,如果需要结果集就用Open,如果不需要结果集,就用ExecSQL
你到底是要还是不要?
 
接受答案了.
 
后退
顶部