毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

while(rs.next())只返回一条记录

更新时间:2012-6-22:  来源:毕业论文

stmt = getStatement(conn);
sql="select * from TB_IOT_POINT where NetAddr='"+deviceid+"'";
rs = getRS(sql, stmt);
System.out.println(sql+"-----sql");
try {
while (rs.next()) {
System.out.println("-----"+rs.getString("NetAddr"));
if (rs.getString("NetAddr").equals(deviceid)) {
System.out.println(rs.getString("PointID")+"-------");
return rs.getString("PointID");
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

怎么又发了一个同样的问题。

因为你while循环里有一句
return rs.getString("PointID");

循环一次就return,跳出循环了。

我的while循环只循环了一次,没有找到rs.getString("NetAddr").equals(deviceid)这条记录,
但我的数据库中有这条记录啊。

我确实没看懂楼主的用语。
sql都找了where NetAddr='"+deviceid+"'"
为什么后面还加个判断 rs.getString("NetAddr").equals(deviceid)。
即使加了也就算了
你也应该把结果存入list中。就return 一条结果,是完全按照你的程序来的。

 stmt = getStatement(conn);
        sql = "select * from TB_IOT_POINT where NetAddr='" + deviceid + "'";
        rs = getRS(sql, stmt);
        int count = 0;
        try {
            while (rs.next()) {
                count++;
            }
            System.out.println(count);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。