java.sql.SQLException: After end of result set
数据库驱动是正确了的就是下面这段代码有问题求大神看看本来有两条数据但只能打印一条数据出来publicstaticvoidmain(String[]args){String...
数据库驱动是正确了的 就是下面这段代码有问题 求大神看看本来有两条数据但只能打印一条数据出来
public static void main(String[] args) {
String sql="select GoodsID, GoodName,GoodsNumber,GoodsPrice,GoodsDiscrible,GoodsLevel,state, GoddsTypeCoding,GoodsTypeName from tb_goods,tb_goodstype where tb_goods.GoodsTypeID=tb_goodstype.GoodsTypeID and GoodsTypeName='"+"传奇系列"+"'";
//System.out.println(series+"444这是传过来的值");
ResultSet set=ConnectionMysql.getResultSet(sql);
try {
while(set.next()){
System.out.println(set.next()+"===========查看这个是否有值");
System.out.println("1111111111进入循环遍历");
String GoodName=set.getString("GoodName");
System.out.println(GoodName);
String GoodsNumber=set.getString("GoodsNumber");
String GoodsLevel=set.getString("GoodsLevel");
System.out.println(GoodsLevel);
//创建一个集合将这些数据装入
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
报的错误
11111进入数据库连接
true===========查看这个是否有值
1111111111进入循环遍历
拉菲罗斯柴尔德传奇梅多克2009年份
1
011121211001
false===========查看这个是否有值
1111111111进入循环遍历
java.sql.SQLException: After end of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:854)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5772)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5692)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5732)
at com.lafite.db_conection.ConnectionMysql.main(ConnectionMysql.java:69) 展开
public static void main(String[] args) {
String sql="select GoodsID, GoodName,GoodsNumber,GoodsPrice,GoodsDiscrible,GoodsLevel,state, GoddsTypeCoding,GoodsTypeName from tb_goods,tb_goodstype where tb_goods.GoodsTypeID=tb_goodstype.GoodsTypeID and GoodsTypeName='"+"传奇系列"+"'";
//System.out.println(series+"444这是传过来的值");
ResultSet set=ConnectionMysql.getResultSet(sql);
try {
while(set.next()){
System.out.println(set.next()+"===========查看这个是否有值");
System.out.println("1111111111进入循环遍历");
String GoodName=set.getString("GoodName");
System.out.println(GoodName);
String GoodsNumber=set.getString("GoodsNumber");
String GoodsLevel=set.getString("GoodsLevel");
System.out.println(GoodsLevel);
//创建一个集合将这些数据装入
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
报的错误
11111进入数据库连接
true===========查看这个是否有值
1111111111进入循环遍历
拉菲罗斯柴尔德传奇梅多克2009年份
1
011121211001
false===========查看这个是否有值
1111111111进入循环遍历
java.sql.SQLException: After end of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:854)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5772)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5692)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5732)
at com.lafite.db_conection.ConnectionMysql.main(ConnectionMysql.java:69) 展开
2个回答
2014-06-09
展开全部
set.next() 在一个循环里调用了两次,导致在最后一条调用的时候越界
把 System.out.println(set.next()+"===========查看这个是否有值"); 删了
把 System.out.println(set.next()+"===========查看这个是否有值"); 删了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询