比如数据库里面有数万条数据
编号是从1-X我现在要得出其中数据的页码,每65条一页
可以查到数据的编号要如何写?

解决方案 »

  1.   

    或者,如何让一个数字,比如是7.25XXXXX或者7.X,就是有余值的时候,都让它+1?
      

  2.   

    sql分页吗?还是:编号连续无缺,则可以通过公式直接得到第n页的编号=
    65*(n-1)+1,65*(n-1)+2,,65*(n-1)+65
      

  3.   

    设X是数据编号,则页码=int(x/65)+1代码如下:var
      x,y:integer; //x是编号,y是页码
    begin
      y:=int(x/65)+1;
      label1.caption:=inttostr(y); //用label显示页码数
    end;
      

  4.   

    编号是连续无缺无重复的,ADOQuery1.Fields[0].Value是查询得到的数据编号
      

  5.   

    我是这样
    m2 := ADOQuery1.Fields[0].Value / 76;
    有的页码正确,有的不正确,发现只要是有余数的,就会不正确
      

  6.   

    var 
      x,y:integer; //x是编号,y是页码 
    begin
      x:=ADOQuery1.Fields[0].Value;
      y:=int(x/65)+1; 
      label1.caption:=inttostr(y); //用label显示页码数 
    end;
      

  7.   

    编号数除以65得到页码数,但这个是小数,所以要去掉小数部分,所以用了int这个函数来获取整数部分,然后得到的整数加1就是正确的页码数
      

  8.   


    会在y:=int(x/65)+1; 这行出错?
      

  9.   

    可以做个判断var 
      x,y:integer; //x是编号,y是页码 
    begin 
      x:=ADOQuery1.Fields[0].Value;
      if x/65>int(x/65) then 
      y:=int(x/65)+1 else y:=x/65; // 如果x/65>int(x/65),则说明有余数,那就要加1,否则就是余数为零,不用加1
      label1.caption:=inttostr(y); //用label显示页码数 
    end;
      

  10.   


    不对啊x/65和int(x/65)计算出来结果都是一样的
    要如何保留小数点呢,好像余数都不在了