连接数据库为什么出现这种异常???????????

grant999 2006-04-05 10:19:40
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.validateCursorPosition(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.getInt(Unknown Source)
at net.acai.database.DBConnect.main(DBConnect.java:187)
数据库中就一个表,表有两个字段,
ResultSet rs=conn.stmt.executeQuery("select * from class");

System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}catch(Exception e){
e.printStackTrace();
}
...全文
197 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zb_java 2006-04-07
  • 打赏
  • 举报
回复
同意zuoyangguang(水)
qfll_1981 2006-04-07
  • 打赏
  • 举报
回复
同意zuoyangguang(水)
aywrenyue 2006-04-07
  • 打赏
  • 举报
回复
异常已经提示了。对游标的操作出现异常
楼主少了
rs.next();语句
当执行
ResultSet rs = stmt.executeQuery(sql);之后
rs指向第一条记录的前边
zuoyangguang 2006-04-07
  • 打赏
  • 举报
回复
把你的代码完整的贴出来吧,我怕还有很多问题呢
你应该找一些相关的例子,不能自己摸索
zuoyangguang 2006-04-07
  • 打赏
  • 举报
回复
还有,rs没有调用next方法
ResultSet rs=stmt.executeQuery("select * from class");
rs.next();
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}catch(Exception e){
e.printStackTrace();
}
zuoyangguang 2006-04-07
  • 打赏
  • 举报
回复
那就直接用stmt就可以了,不用conn.stmt
ResultSet rs=stmt.executeQuery("select * from class");

System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}catch(Exception e){
e.printStackTrace();
}
grant999 2006-04-06
  • 打赏
  • 举报
回复
已经实例化了statement,stmt就是
zhigangsun 2006-04-05
  • 打赏
  • 举报
回复
conn.stmt.executeQuery("select * from class");

你应该首先用connection.createStatement()来获取一个statement实例,然后调用statement实例的executequery方法

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧