我现在遇到一个问题,数据库中没有序号!可程序中需要分段显示记录,分别按每20条记录一段加载到StringGrid中!就是一页一页的方式显示数据!谢谢了!

解决方案 »

  1.   

    我发觉CSDN上的高手越来越少了!唉!想我们这些菜鸟们以后还怎么混啊!
      

  2.   

    不是没高后,是你的问题太简单了!让我这个低手给你解答。你可以通过ADODataset-DataSetProvider-ClientDataSet的方式来访问数据,
    将PacketRecords设成你每次要读取的记录。
      

  3.   

    select * from tablename where 学号 in (1,10)
    or 
    select * from tablename where 学号>=1 and 学号<=10
    or 
    select * from tablename where 学号 between 1 and 10
      

  4.   

    同意,你可以通过设置一个标识号来识别,
    然后用 dataset 的方法next 来指向下一条记录
    在逐个字段的取出,当标识号  等于10  的时候就停止,然后点击“下一页”的时候在继续做
    当然中间你需要保存 当前记录的位置
      

  5.   

    不是csdn没高手了,使你这个问题曾经无数个人问过了,你不能希望让人家一遍一遍的回答吧?平时常来csdn看看,看看别人的问题,别等自己有了问题才想到来,来了就喊没高手。
    另外:billy_zh(zt) 的办法行不通的。
      

  6.   

    唉!这也叫方法啊!“数据库中没有序号”这几个字看得懂吗???
    我不要什么标识号、序号!这样能不能解决?
    我不用ClientDataSet,我的是COM+,通过传递OleVariant来传递数据!
    我说没高手就是没高手,轻浮之人到处都是!
    随便看了一下就来回答,而且还没看清到底什么意思!唉……
    欲哭无泪啊!
      

  7.   

    可以用ADODataSet1.Recordset.PageSize这个属性设置Page大小
    当然也可以在获取数据的接口方法中手工维护指针信息
      

  8.   

    可以省掉ClientDataSet,
    直接使用DataSetProvider.AS_开头的函数,
    它也是传递和返回OleVariant类型的值。用你每次获得的最后一条记录的信息来定位。