日期:2014-05-20  浏览次数:20683 次

ResultSet怎么判断返回为空
如题,查数据库没有想要的东西,怎么判断数据库没有想要的东西

------解决方案--------------------
看看ResultSet是不是null什么的
------解决方案--------------------
ResultSet rs = null; //定义结果集对象

if (rs.next()) {}

------解决方案--------------------
ResultSet rs = ....;
if(rs.next()){
System.out.println( "有数据 ");
}else{
System.out.println( "没有有数据 ");
}

------解决方案--------------------
if(rs==null)
------解决方案--------------------
rs.last();//指针移到最后一行
rowsCount = rs.getRow();//取得记录数
rs.beforeFirst();//指针回到第一行前
------解决方案--------------------
rs.next 如果true就是有数据喽。
------解决方案--------------------
boolean flag=false;
ResultSet rs = stmt.executeQuery(sql);
if(rs.next()){
flag=true;
}
return flag;
------解决方案--------------------
如果你用的是Statement对象,那么你就应该在这样写:Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
其中中间的两个参数就表示可以让指针来回移动.那么就是可逆操作了.
如果是存储过程,那就用如下的方法:
CallableStatement cstmt=null;
cstmt=conn.prepareCall( "{call my_backrecord()} ",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=cstmt.executeQuery();
------解决方案--------------------
设一个变量(可以是布尔型),在遍历行的过程中更改它。如果没有更改过,就是没有数据。
比如:
bool containsRecords = false;
while (rs.next()) {
containsRecords = true;
//遍历操作
……
}
if (!containsRecords) {
System.out.println( "没有数据! ");
}
------解决方案--------------------
if( rs.next ) 就行了吧!
------解决方案--------------------
同意cpoysy()
是否可逆由纪录集的类型决定