java JDBC获得数据库结果集的行数但少了第一行的数据
Stringsql="SELECT*FROMTABLEONE";ResultSetrs=conn.getExecuteQuery(sql);try{rs.last();i...
String sql = "SELECT * FROM TABLEONE";
ResultSet rs = conn.getExecuteQuery(sql);
try {
rs.last();
int r = rs.getRow();
if(r==0){//如果表1没查到值,则查询表2
sql="SELECT * FROM TABLETWO";
rs = conn.getExecuteQuery(sql);
}
//若表1查到值输出
rs.first();//--------------得到的结果集少了第一行的原因
while(rs.next()){
.....//获得结果集各行的值的代码①
}
}catch(SQLException e){}
//但是得到的结果集少了第一行
我要怎么样才能得到同样的效果(查表1,没查到值则查表2,查到则输出表1的值),同时能得到第一行的数据呢?不想重复写代码① 展开
ResultSet rs = conn.getExecuteQuery(sql);
try {
rs.last();
int r = rs.getRow();
if(r==0){//如果表1没查到值,则查询表2
sql="SELECT * FROM TABLETWO";
rs = conn.getExecuteQuery(sql);
}
//若表1查到值输出
rs.first();//--------------得到的结果集少了第一行的原因
while(rs.next()){
.....//获得结果集各行的值的代码①
}
}catch(SQLException e){}
//但是得到的结果集少了第一行
我要怎么样才能得到同样的效果(查表1,没查到值则查表2,查到则输出表1的值),同时能得到第一行的数据呢?不想重复写代码① 展开
1个回答
展开全部
String sql = "SELECT * FROM TABLEONE";
ResultSet rs = conn.getExecuteQuery(sql);
try {
if(!rs.next()){//如果表1没查到值,则查询表2
sql="SELECT * FROM TABLETWO";
rs = conn.getExecuteQuery(sql);
}
//若表1查到值输出
while(rs.next()){
.....//获得结果集各行的值的代码①
}
}catch(SQLException e){}
改成这样试试。
ResultSet rs = conn.getExecuteQuery(sql);
try {
if(!rs.next()){//如果表1没查到值,则查询表2
sql="SELECT * FROM TABLETWO";
rs = conn.getExecuteQuery(sql);
}
//若表1查到值输出
while(rs.next()){
.....//获得结果集各行的值的代码①
}
}catch(SQLException e){}
改成这样试试。
更多追问追答
追问
不行的,因为在执行while之前已经执行了一次next(),而且它执行了却没有得到结果值,所以第一行还是没有获取到。
追答
String sql = "SELECT * FROM TABLEONE";
ResultSet rs = conn.getExecuteQuery(sql);
try {
rs.last();
int r = rs.getRow();
if(r==0){//如果表1没查到值,则查询表2
sql="SELECT * FROM TABLETWO";
rs = conn.getExecuteQuery(sql);
while(rs.next()){
.....//获得结果集各行的值的代码①
}
return; //结束
}
//若表1查到值输出
while(rs.next()){
.....//获得结果集各行的值的代码①
}
}catch(SQLException e){}
这样是否可行呢。
TableDI
2024-07-18 广告
2024-07-18 广告
当我们在上海悉息信息科技有限公司进行数据工作时,经常需要对比两个Excel表格的数据。对比方法通常包括使用Excel的内置功能,如“条件格式”中的“突出显示单元格规则”来选择“等于”或“不等于”等选项,以便快速标记出两个表格中不同的数据。此...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询