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();
}