有一个方法:可以使用书签提前把要查询的信息放到数组里面在进行判断 下面的例子可以参考一下,, var book : Tbook; num : integer; begin try num := 1; getbook; dateset.DisableControls; if not dateset.isempty then begin dataset.first; while not dateset.eof do begin dataset.FieldByName( 'NO ').asinteger := num; num := num + 1; dataset.next; end; end; gotobookMark; finally dateset.enableControls; freebook; end; end;
ADOTable1.Open;
ADOTable1.Filtered:=true;
ADOTable1.Filter:=''; //此次輸入條件表達式,例如'ID=4'
ADOTable1.First; //查找第一條
ADOTable1.Next; //查找下一條
ADOTable1.Locate(....);
ADOTable.FindNext;
下面的例子可以参考一下,,
var
book : Tbook;
num : integer;
begin
try
num := 1;
getbook;
dateset.DisableControls;
if not dateset.isempty then
begin
dataset.first;
while not dateset.eof do
begin
dataset.FieldByName( 'NO ').asinteger := num;
num := num + 1;
dataset.next;
end;
end;
gotobookMark;
finally
dateset.enableControls;
freebook;
end;
end;
1.动态生成一个adoquery,查询满足条件的值;
2.在adotable里用locate定位到adoquery指定记录的标识符;(每点一次F3键,adoquer.next);
begin
repeat
if adoquery.locate()=true then break;
until adoquery.eof;
end;
我想这应改是最佳的方安!
begin
repeat
if adoquery.locate()=true then break;
until adoquery.eof;
end; 这种方法永远只会找到第一条,又不会从当前往下找.