小编典典

java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]无效的游标状态

sql

我创建了一个简单的应用程序,该程序将数据库值与文本字段值进行比较,但是当我执行项目时,它会为我提供以下内容Exception

java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]无效的光标状态

这是我正在使用的代码:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
   String dataSource ="testDb";
   String U="jdbc:odbc:"+dataSource;
   try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con=DriverManager.getConnection(U,"","");

      PreparedStatement s=con.prepareStatement("Select * from student");
      ResultSet s1=s.executeQuery();


      String textField;
      textField=jTextField1.getText();
      String database =s1.getString(1);
      if(textField.equals(database)) { 
         System.out.println("ok");
      } else {
         System.out.println("Not ok");
      }
   } catch(Exception ex) {
      System.out.println("THE EXCEPTION IS"+ex);
   }
}

这可能是什么原因Exception


阅读 182

收藏
2021-04-28

共1个答案

小编典典

当你这样做s.executeQuery(),的初始位置ResultSet
之前 的第一行。

您必须将rs.next()其前进到第一行。

将您的ResultSet处理if ( s1.next() ) {}封闭在一个块中

2021-04-28