例如一张customer表中有一个自增 id 字段,表中有636条记录,id值不是连续的,因为其中有删除过记录
1.如何 分成100条记录 作为一段 取出id的值
2.以逗号分隔,保存在字符串str中,连接sql代码可以不给出,只给出能实现1和2

解决方案 »

  1.   


    方法很多吧 你也可以放个计数常量 将结果集取出来
         int count = 0;
        String str = "";
        while(rs.next()){
           if((count+1) % 100 == 0){
              str += "|";
           }else{
              str += rs.getString("id") + ",";
           }
           count++;
        }
    // 然后将str.split("|")分割下 就是数组 上面是伪代码
      

  2.   


    int k = 1 ;
    StringBuffer strb = new StringBuffer();
    while(rs.next()){
    if(k == 100){
    k = 1;
    strb.append(rs.getString("id")+"::");
    }else {
    strb.append(rs.getString("id")+",");
    k ++;
    }
    }
      

  3.   

    用top(100*值)啊
    比如 select top(100)* form 表名 not in(select top(100*(值-1))id from 表名)
    不知道语句对不对,但是意思应该是对的
    值表示,你想取第几段,如果第一段就为1,第二段为2~
      

  4.   

    select top(100)* form 表名 id not in(select top(100*(值-1))id from 表名) 
    上面错了一点~
      

  5.   

    1.
    SELECT TOP 100 * FROM [TABLEA]
    第101~200條語句:
    SELECT TOP 100 * FROM [TABLEA] WHERE [pname] not in (SELECT TOP 100 [pname] FROM [TABLEA])
    第201~301條語句:
    SELECT TOP 100 * FROM [TABLEA] WHERE [pname] not in (SELECT TOP 200 [pname] FROM [TABLEA])2.1能够取出你按段能够取出你的字段信息。
    3.取出后,直接在程序中循环遍历,将ID相连起来就可以了!
      

  6.   

    一次全部取出数据
    如果作为暂时储存的字符串
    需要线程安全就用 StringBuffer 就像2楼
    不需要线程安全就 把二楼的   StringBuffer 改成StringBuilder效率更高 做完了调用 他们的toString()方法就返回String