バックグラウンドで MySQL を使用して NetBeans プロジェクト (Java Swings) に取り組んでいます。この特定のシナリオで打たれました。
「onclick」アクションイベントで行を選択する必要がある場所など、JTable
1フレームで作業しています。frame1
mysql のバックグラウンドでテーブルから対応するデータが取得され、データが別のフレームに渡されframe2
ますJTextField
。
のテーブルにframe1
は、データベースに保持されているテーブル全体から選択された少数のタプルのみが含まれています。
以下は、私が使用したコードスニペットです::データベーステーブル名DB_table
1-frame1のテーブルからデータを選択します
public static String Table;
public static int row;
private void jTable1MouseClicked(java.awt.event.MouseEvent evt)
{
// TODO add your handling code here:
jButton3.setEnabled(true);
row = jTable1.getSelectedRow();
Table = (jTable1.getModel().getValueAt(row,0).toString());
}
2- フレーム 2 にリダイレクトするためのボタンのアクション イベント
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
frame2 ac =new frame2();
jDesktopPane1.add(ac);
try {
ac.setSelectedRow(Table);
} catch (Exception e) {
// Logger.getLogger(showp1.class.getName()).log(Level.SEVERE, null, ex);
}
ac.setVisible(true);
}
3-これはframe2のメソッドです
void setSelectedRow(String Table) {
try {
//ResultSet resultSet = null;
System.out.print(Table);
rs = pst.executeQuery("SELECT * FROM DB_Table where attr="+ Table +"");
//System.out.print(Table);
while (rs.next()) {
System.out.print(Table);
//jTextField1.setText(resultSet.getString(1));
//System.out.print(Table);
jTextField1.setText(rs.getString("attr"));
}
} catch (SQLException ex) {
Logger.getLogger(AddClient.class.getName()).log(Level.SEVERE, null, ex);
}
}
データは出力コンソールに出力されていますが、テキストフィールドには保存されていませんframe2
...
問題が明確であることを願っています
どんな提案でも大歓迎です..