ADO Table 中怎样定位记录集?(150分)

  • 主题发起人 主题发起人 zs
  • 开始时间 开始时间
Z

zs

Unregistered / Unconfirmed
GUEST, unregistred user!
ADO Table 中怎样定位记录集?
要有详细说明
 
两种方法:
1.ADOtable有locate方法,引用该方法时要在
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
加上DB单元,即:
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,DB;
for Example:
with ADOTable do
Locate('Company;Contact;Phone',
VarArrayOf(['Sight Diver', 'P', '831-431-1000']), [loPartialKey]);
如果条件只有一个:则
with CustTable do
Locate('Company','Sight Diver', [loPartialKey]);
在Delphi的help中有详细的说明,只是该种方法只能定位一条纪录.
事实上,定位多条纪录我们常用ADOquery/Query,通过SQL语句可以实现定位多条
符合一定条件的纪录,前者用ADOConnection机制连接数据库,较BDE好得多
ADOQuery的例子:
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('select 日期,氨产量,尿素产量');
SQL.Add('from 日计量数据报库');
SQL.Add('where 日期=:tim_str');
parameters.parambyname('tim_str').value:=produce_date;
open;
end;
以上仅供参考,如有问题,可以E-mail to me :mengguboy@etang.com
 
adotable1.filtered:=false;
adotable1.filter:='name='+quotedstr('zs');
adotable1.findfirst;//定位于第一个名字为zs的记录
adotable1.findnext;//定位下一个名字为zs的记录;
adotable1.findlast;//定位最后一个名字为zs的记录;
fileter后面加上SQL查询语句中where后面应该添加的字串就可以进行查找了!
 
多人接受答案了。
 
后退
顶部