0

mysql db からデータを取得する Jtable の行を強調表示し、編集ボタンをクリックして、行を編集して保存するために使用できるフォームを起動できるように、チュートリアルまたはメソッドが必要です。機能する方法を使用しましたが、多くの例外がスローされたので、設計が悪いと思います。

編集:バインディングはまだ使いたくない。理解できる基本的なコードを書きたい。

編集2:クエリの編集で使用するキーを取得するために呼び出すものは次のとおりです..行を強調表示して、この関数を呼び出します:

int id = ((Number) model.getValueAt(jTable1.getSelectedRow(), 0)).intValue() ;

関数本体は私が書いたものではありませんResultSetTableModelファイルの一部です

 public Object getValueAt( int row, int column )
      throws IllegalStateException
   {
      // ensure database connection is available
      if ( !dbConnection.isConnectedToDatabase() )
         throw new IllegalStateException( "Not Connected to Database" );

      // obtain a value at specified ResultSet row and column

      try
      {


          getResultSet().absolute( row + 1 );
         return getResultSet().getObject( column + 1 );
      } // end try
      catch ( SQLException sqlException )
      {
          System.out.println("Exception from here dude");
         sqlException.printStackTrace();
      } // end catch

      return ""; // if problems, return empty string object
       } // end method getValueAt

結果セットのクローズド例外がここでスローされます。その理由は、前にテーブルを埋めるために同じ結果セットを使用したためだとわかっています。だから私は別の選択肢が欲しい。

4

2 に答える 2

1

テーブルの使用方法を参照してください。ただし、コードを表示できれば便利です。


アプリケーションがをスローすることが問題である場合は、SQLExceptionそのテーブルのSQLクエリとデータベーススキーマを表示する必要があります。

于 2011-02-13T16:48:01.323 に答える
0

結果セットのクローズ例外がここでスローされます。その理由は、以前に同じ結果セットを使用してテーブルを埋めたためであることがわかっています。だから私は別の選択肢が欲しい。

データベースからのテーブルを参照してください。「データベースからのテーブルの例」は、ResultSet 内のデータから DefaultTableModel を作成する方法を示しているため、これについて心配する必要はありません。

于 2011-02-13T17:10:48.840 に答える