代码之家  ›  专栏  ›  技术社区  ›  Andrei Ivanov

按行从结果集中读取数据

  •  3
  • Andrei Ivanov  · 技术社区  · 13 年前

    我有以下问题,是否可以逐行从结果集中读取数据?例如,如果我通过以下语句读取了12行:

    select * from months where data = 'whatever' and place_id = '1'
    

    我可以通过以下代码将数据读取为字符串:

    while (rs.next()) 
    {
        for ( int i=1, y=0; i<numOfCols+1; i++,y++ ) 
    {
        out.print("<td>" + rs.getString(i) + "</td>");
            avMaxTemp += rs.getString(i) +",";
        }
    }
    

    如果我更改select语句:

    select * from months where data = 'whatever' and place_id in ('1', '2')
    

    我将如何将第二行数据读入:

    string avMinTemp = 
    

    我尝试了很多循环,但它从来没有给我带来预期的结果。非常感谢任何帮助!!!我需要将第二行复制到字符串avMinTemp中,将第三行数据复制到字符串meanTemp中等等。。。

    1 回复  |  直到 13 年前
        1
  •  4
  •   swissben    13 年前

    您必须在while语句之前创建一个列表对象,并将avaMaxTemp添加到此列表中(假设avaMaxTemp是一个字符串)

    例如。:

    List<string> avaMaxTempList = new List<string>();
    while (rs.next()) 
    {
        for ( int i=1, y=0; i<numOfCols+1; i++,y++ ) 
    {
        out.print("<td>" + rs.getString(i) + "</td>");
            avMaxTemp += rs.getString(i) +",";
        }
    avaMaxTempList.Add(avaMaxTemp);
    }