adoquery如何查找记录呢?

pl5th2001 2002-07-27 03:09:07
记录有;
id text
1 sdjfksjd
2 dsfsdjfkjdskks
3 op[op;k;lko
4 klfksdsl;
如何将指针指向id=3这条记录呢
...全文
46 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangguo_god 2002-07-27
  • 打赏
  • 举报
回复
Query1.Active:=false;
Query1.SQL.Clear();
Query1.sql.add("select * from tablename order by id");
Query1.active:=true;
Query1.firsr();
Query1.movoby(3);
eulb 2002-07-27
  • 打赏
  • 举报
回复
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM table WHERE text = "op[op;k;lko"');
Open;
if Recordset.RecordCount = 0 then Exit;
First;
ADOTable1.RecNo := Fields[0].AsInteger + 1;
end;
注:其中dbgrid与ADOTable1相连
firstshine 2002-07-27
  • 打赏
  • 举报
回复
if adoquery1.locate('text','op[op;k;lko',[]) then
showmessage('found')
else
showmessage('not found');
l_xiaofeng 2002-07-27
  • 打赏
  • 举报
回复
agree
pl5th2001 2002-07-27
  • 打赏
  • 举报
回复
这样太慢了,或者给我只刷新当前记录,并且dbgrid也会跟着变动的代码也行

jianlinlong 2002-07-27
  • 打赏
  • 举报
回复
用Locate 方法
firstshine 2002-07-27
  • 打赏
  • 举报
回复
locate
Drate 2002-07-27
  • 打赏
  • 举报
回复
adoquery1.prior;
while adoquery1<>eof do
begin
if adoquery1.fileds[1]='op[op;k;lko' then
begin
showmessage('找到了!');
break;
end;
adoquery1.next;
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧