0

私はJavaを初めて使用し、テーブルからデータを読み取ってフォーム変数に渡すという1つの簡単なタスクを完了しようとしています。ただし、このイライラする例外が発生しています。

無効なカーソル状態 - 現在の行がありません。

私はすべてを試しましたが、まだ運がありません。Google を調べましたが、この問題を解決する回答が得られません。皆さんが助けてくれることを願っています。

public class MainFrame extends javax.swing.JFrame {

   Connection con;
   Statement stm;
   ResultSet rs;

    /**
     * Creates new form MainFrame
     */
    public MainFrame() {
         initComponents();
         DoConnect();   
    }

    public void DoConnect() {
       try{
            String host = "jdbc:derby:studentinfo;create=true";
            String uname = "sudeep";
            String upass = "sunny";

            con = DriverManager.getConnection(host, uname, upass);
            stm = con.createStatement();
            String sql = "SELECT * FROM APP.STUDENTID";
            rs = stm.executeQuery(sql);

            System.out.println("Query executed");

           if(rs.next())
           {      
              // This is where the exception is occurring!!!!!!

              String id = rs.getString("STUDENTID");
              String first = rs.getString("FIRST_NAME");
              String second = rs.getString("SECOND_NAME");

              ID.setText(id); 
              fnam1.setText(first);
              lnam.setText(second); 

              System.out.println(id);
           }          
       } 

       catch ( SQLException err) {
           JOptionPane.showMessageDialog(MainFrame.this, err.getMessage()); 
           System.out.println("ERROR GETCONNECTION");}
       }
   }

プログラムの実行によって生成されたトレースは次のとおりです。 Info]: connection: 2013-09-03 21:14:16.299--ServerSession(552364977)--file:/Users/vasundhra_sudeep/NetBeansProjects/StudentForm/build/classes/_jdbc:derby:studentinfo;create=truePU ログイン成功 Java .sql.SQLException: カーソルの状態が無効です - 現在の行がありません。無効なカーソル状態 - 現在の行がありません。org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException (不明なソース) で org.apache.derby.impl.jdbc.Util.newEmbedSQLException (不明なソース) で org.apache.derby.impl.jdbc.Util.newEmbedSQLException (不明なソース) org.apache.derby.impl.jdbc.Util.generateCsSQLException (不明なソース) で org.apache.derby.impl.jdbc.EmbedConnection. EventQueue$2.run(EventQueue.java:674) で java.security.AccessController.doPrivileged(Native Method) で java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) で java.awt.EventQueue.dispatchEvent(EventQueue. java:685) で java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) で java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) で原因: java.sql .SQLException: 無効なカーソル状態 - 現在の行がありません。org.apache.derby.impl.jdbc にあります。

4

1 に答える 1

0

データが含まれていない可能性がAPP.STUDENTIDあります。そのテーブルにデータの少なくとも 1 つのレコード (別名行) を挿入し、プログラムを再度実行して、同じ例外が発生するかどうかを確認します。

于 2013-09-03T03:05:04.460 に答える