读取access里某个字段的最后十条数据并组成字符串

beil0eve 2018-02-07 12:26:13
with adoquery1 do

begin

close;

sql.Clear;

sql.Add('select top 10 IDD from DATA order by IDD desc');

open;

end;

IDD:=adoquery1.fieldbyname('IDD').AsString;

这样只有一条数据
...全文
518 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DelphixpeFan 2018-02-07
  • 打赏
  • 举报
回复
上面在while循环里少了个NEXT
DelphixpeFan 2018-02-07
  • 打赏
  • 举报
回复
var IIDD:integer;SFLX:Boolean; begin .... open; first; sflx:=True; IIDD:=adoquery1.fieldbyname('IDD').Asinteger; IIDD:=IIDD - 1; IDD:=IDD+adoquery1.fieldbyname('IDD').AsString+','; next; while not eof do begin if IIDD <> adoquery1.fieldbyname('IDD').Asinteger then sflx:=False; IIDD:=IIDD - 1; IDD:=IDD+adoquery1.fieldbyname('IDD').AsString+','; end; if sflx then showmessage('连续') else showmessage('不连续'); end;
beil0eve 2018-02-07
  • 打赏
  • 举报
回复
引用 1 楼 lyhoo163 的回复:
  with adoquery1 do
  begin
    IDD='';
    close;
    sql.Clear;
    sql.Add('select top 10 IDD from DATA  order by IDD desc');
    open;
    First;
    while not Eof do
    begin
      IDD:=IDD+adoquery1.fieldbyname('IDD').AsString+',';
      Next;
    end;
  end;
这样,就可以了。
谢谢 可以了 有另一个问题请教 这十个数据其实是连续的数字 如果我想判断这十个数据是否是连续不间断的 比如十个数据是1,2,3,4,5,6,7,8,9,10 怎么判断字符串一个连续的整数呢?
DelphixpeFan 2018-02-07
  • 打赏
  • 举报
回复
当然只有一条数据,用过excel么?query打开的时候会把指针指向第一条数据,你的这一条IDD:=adoquery1.fieldbyname('IDD').AsString;只能读出第一条数据的值;所以,你需要把指针往下移,把剩下的数据一条一条读出来;
lyhoo163 2018-02-07
  • 打赏
  • 举报
回复
  with adoquery1 do
  begin
    IDD='';
    close;
    sql.Clear;
    sql.Add('select top 10 IDD from DATA  order by IDD desc');
    open;
    First;
    while not Eof do
    begin
      IDD:=IDD+adoquery1.fieldbyname('IDD').AsString+',';
      Next;
    end;
  end;
这样,就可以了。
lyhoo163 2018-02-07
  • 打赏
  • 举报
回复
不会吧,只要汉字不同,读出来,就不同。
beil0eve 2018-02-07
  • 打赏
  • 举报
回复
引用 1 楼 lyhoo163 的回复:
  with adoquery1 do
  begin
    IDD='';
    close;
    sql.Clear;
    sql.Add('select top 10 IDD from DATA  order by IDD desc');
    open;
    First;
    while not Eof do
    begin
      IDD:=IDD+adoquery1.fieldbyname('IDD').AsString+',';
      Next;
    end;
  end;
这样,就可以了。
谢谢 但是有个问题 比如IDD那个字段是整数 那这个代码就是可以的 但是如果IDD的字段是一个汉字 而且十条数据的汉字都是不同的 但是字符串出来的汉字却是同一个重复了10次 请问这是怎么回事呢
beil0eve 2018-02-07
  • 打赏
  • 举报
回复
引用 5 楼 yqbaby 的回复:
上面在while循环里少了个NEXT
谢谢 但是上面字符串赋值的有个问题 比如IDD那个字段是整数 那这个代码就是可以的 但是如果IDD的字段是一个汉字 而且十条数据的汉字都是不同的 但是字符串出来的汉字却是同一个重复了10次 请问这是怎么回事呢

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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