我的数据库m_database1中有一张表m_table1,该表中的记录有几万条,我要浏览该数据表的内容,可是如果将数据表的所有记录一次查询出来的话,由于是网络传输,速度会很慢,让人难以忍受,所以我想通过一次只查询500条记录的方式来分段浏览。请问该查询单击事件的代码如何实现,也就是如何设计SQL查询,使得每次顺序选择下面的另500条记录。谢谢!!

解决方案 »

  1.   

    看你是什么数据库了
    如果是oracle. 你可以i :=500select ... where rownum < i;i: = i + 500;
      

  2.   

    一回事,  sql server也有类似的。 看ms sql server连机帮助呀
      

  3.   

    先得保证按某个关键字排序select * top 500 from table1 where id>0 order by id下一次,改变条件.
    select * top 500 from table1 where id>lastId order by id
      

  4.   

    记下上次最后一条id
    select ... where rownum between lastid and lastid+500
      

  5.   

    假定表中有一个字段id,是关键字段.为大于1的一个整数.
    可以
    int nPos = 0;
    select top 500 * from tablename where id > nPos order by id
    可以从上面记录中得到最大的id 把它传给nPos
    就可以循环得到记录了.
    select top 500 * from tablename where id > nPos order by id这是很笨的方法.也许有更好的方法.
      

  6.   

    rownum 在SQL SERVER 不能识别
      

  7.   

    大概语句是这样的,如何设计呢??
    select  *  from net_http where ........  order by date_time desc
      

  8.   

    李维的书上有讲,具体的看看好了,
    如果用Delphi的人没有李维的书,那就说不过去啦。
      

  9.   

    同样道理:where子句: where mydata > lastdata日期格式如下:'2002/05/30'
      

  10.   

    一个字段id,是关键字段.
    select count(*) cou from tablename
    次数为 cou/500
    n为0到 cou/500
    i=500*n
    select top 500 * from tablename where id not in (select top i id from tablename order by date_time) order by date_time