java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
22,225
When you do s.executeQuery()
, the initial position of the ResultSet
is BEFORE the first row.
You have to do rs.next()
to advance it to the first row.
Enclose your ResultSet
processing in a if ( s1.next() ) {}
block
Author by
Admin
Updated on July 25, 2022Comments
-
Admin almost 2 years
I created a simple application that compares a database value with a textfield value, but when I execute the project it gives me the following
Exception
:java.sql.SQLException
: [Microsoft][ODBC Driver Manager] Invalid cursor stateThis is the code I'm using:
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); } }
What could be the cause if this
Exception
?