Test for an empty ResultSet boolean found; ResultSet rs; ... // execute the query and then found = rs.next(); if (found) System.out.println("Record found"); else System.out.println("Record not found");
A nicer way to do the same would be ResultSet rs; ... if (rs.next()) { do { System.out.println("Record found"); } while (rs.next()); } else { System.out.println("Record not found"); }
if (!result.next()) throw Exception("ResultSet is null!");
boolean found;
ResultSet rs;
...
// execute the query and then
found = rs.next();
if (found)
System.out.println("Record found");
else
System.out.println("Record not found");
A nicer way to do the same would be ResultSet rs;
...
if (rs.next()) {
do {
System.out.println("Record found");
} while (rs.next());
}
else {
System.out.println("Record not found");
}
<%
java.sql.Statement stmtsearch=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String SQL="SELECT * FROM forumgroup WHERE groupenname='"+key+"'";
ResultSet rssearch=stmtsearch.executeQuery(SQL);
if(rssearch!=null)
{
rssearch.next();
groupname=rssearch.getString(1);
groupenname=rssearch.getString(2);
adminuser=rssearch.getString(4);
rssearch.close();
}
%>
你的代码肯定可以执行的,但一个ResultSet 肯定是和查询联系在一起,但
Executes an SQL statement that returns a single ResultSet object.never null;
conn = DriverManager.getConnection(DBLocation,sUser,sPassword);
Statement s= conn.createStatement();在执行查询后
可这样判断 if(s.getResultSet()==null)
表示结果集无数据
利用ResultSet的内置方法isBeforeFirst(),返回True和False
//这句话我已经试过拉,没问题!
if(!RSStmt.isBeforeFirst()){out.print("该记录集中没有数据");}
else
{//有纪录时的处理!
}
没纪录并不代表为空,因为该记录集中已经已经有表头信息拉:即:MetaData
{
.....
}
else
{
...}
也挺简单
while (rs.next()){
flag=1;
//有纪录时的处理
}
if (flag==0) out.print("该记录集中没有数据");这样程序结结构上也很容易理解,又很清晰!
rs.next()也移动了
在写个sql select count(*) from xxx我决的JDBC2.0的afterLast(),getRow()方法已经可以了,你不喜欢