请问在DELPHI中,如何定位记录?有代码,请修改!谢谢!ADOQuery1.sql.text := 'select * from 试题库 where 编号 >= ' + edit1.text;上述代码中的“编号”是一个字段。但它不是数据表中的真正记录位置。比如,我想在第100条记录开始查询,而编号很可能是108。不知道,能不能将上述代码中的“编号”改为其它的代码,以确保查询时,能指向100。非常感谢!不好意思!我昨天没有把要问的意思说清楚。我的意思是:在数据表“试题库”中,从某一指定记录数,而不是某一指
2019-03-30
请问在DELPHI中,如何定位记录?有代码,请修改!谢谢!
ADOQuery1.sql.text := 'select * from 试题库 where 编号 >= ' + edit1.text;
上述代码中的“编号”是一个字段。但它不是数据表中的真正记录位置。
比如,我想在第100条记录开始查询,而编号很可能是108。
不知道,能不能将上述代码中的“编号”改为其它的代码,以确保查询时,能指向100。
非常感谢!
不好意思!我昨天没有把要问的意思说清楚。
我的意思是:在数据表“试题库”中,从某一指定记录数,而不是某一指定记录,开始答题。
因为,某一指定记录数,和 某一指定记录,有时候是不相同的。
比如,数据表中有一个“编号”字段,有时候,“编号”为100的那条记录,不一定就是数据表中的第100条记录。
现在,我要做的是,从第100道题开始,而不是从“编号”为100的记录开始答题。
因为不会写从某一指定记录数题开始答题的代码,所以,把代码写成了以下格式,但这条代码却成了从“编号”为某一指定记录字段数( edit1.text)开始答题的结果。
ADOQuery1.sql.text := 'select * from 试题库 where 编号 >= ' + edit1.text;
上述代码的问题出在“编号”,即where 编号 >= ' + edit1.text;中的“编号”。(“编号”是数据表中的一个字段)
请将“编号”修改为,能指定数据表中,记录数为strtoint(edit1.text)的记录。谢谢!
优质解答
例如需要查询table.number = 2,
可以用 while,
counter := 0;
while not query1.eof do begin
if counter > 100 then begin
if query1.fieldbyname('number').asinteger = 2 then // 查询number = 2
... ...
end;
counter ++;
query1.next;
end;
或者如果要用指针指定的话,可以用query1.locate('number',2,[]); // 查询number = 2
例如需要查询table.number = 2,
可以用 while,
counter := 0;
while not query1.eof do begin
if counter > 100 then begin
if query1.fieldbyname('number').asinteger = 2 then // 查询number = 2
... ...
end;
counter ++;
query1.next;
end;
或者如果要用指针指定的话,可以用query1.locate('number',2,[]); // 查询number = 2