请问在DELPHI中,如何定位记录?有代码,请修改!谢谢!
ADOQuery1.sql.text:='select*from试题库where编号>='+edit1.text;上述代码中的“编号”是一个字段。但它不是数据表中的真正记...
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)的记录。谢谢! 展开
上述代码中的“编号”是一个字段。但它不是数据表中的真正记录位置。
比如,我想在第100条记录开始查询,而编号很可能是108。
不知道,能不能将上述代码中的“编号”改为其它的代码,以确保查询时,能指向100。
非常感谢!
不好意思!我昨天没有把要问的意思说清楚。
我的意思是:在数据表“试题库”中,从某一指定记录数,而不是某一指定记录,开始答题。
因为,某一指定记录数,和 某一指定记录,有时候是不相同的。
比如,数据表中有一个“编号”字段,有时候,“编号”为100的那条记录,不一定就是数据表中的第100条记录。
现在,我要做的是,从第100道题开始,而不是从“编号”为100的记录开始答题。
因为不会写从某一指定记录数题开始答题的代码,所以,把代码写成了以下格式,但这条代码却成了从“编号”为某一指定记录字段数( edit1.text)开始答题的结果。
ADOQuery1.sql.text := 'select * from 试题库 where 编号 >= ' + edit1.text;
上述代码的问题出在“编号”,即where 编号 >= ' + edit1.text;中的“编号”。(“编号”是数据表中的一个字段)
请将“编号”修改为,能指定数据表中,记录数为strtoint(edit1.text)的记录。谢谢! 展开
推荐于2017-10-31 · 知道合伙人软件行家
关注
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
var x:integer;
begin
x:=strtoint(edit1.text);
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.text := 'select 编号 from 试题库';
ADOQuery1.open;
ADOQuery1.MoveBy(x);
showmesage(ADOQuery1.fieldbyname(编号));
但是不建议你用*遍历整个表,因为你的表中全部数据有可能过大,建议单取编号,然后再用个ADOQuery检索该编号。 取该行数据
begin
x:=strtoint(edit1.text);
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.text := 'select 编号 from 试题库';
ADOQuery1.open;
ADOQuery1.MoveBy(x);
showmesage(ADOQuery1.fieldbyname(编号));
但是不建议你用*遍历整个表,因为你的表中全部数据有可能过大,建议单取编号,然后再用个ADOQuery检索该编号。 取该行数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的数据表中增加一个关键字字段“序号”,字段属性设置成“标识”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如需要查询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
可以用 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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ADOQuery1.sql.text := 'select * from 试题库 where 编号 >= (select max(编号) from (select top ' + edit1.text
+ ' 编号 from 试题库 order by 编号) temptb) ' ;
+ ' 编号 from 试题库 order by 编号) temptb) ' ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询