Jtable选择netbeans中与sql server绑定的行

时间:2014-12-20 12:12:19

标签: java jtable

我通过以下代码在netbeans中填写jtable(tbl_student):

String[][] result;
    result = stu.Search(txt_search.getText());
    String hdr[] = {"code", "name", "family"};
    tbl_student = new JTable(result, hdr);
    jScrollPane1.setViewportView(tbl_student);
    tbl_student.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

该Search()函数是从sql server数据库中的表中选择所有查询。 现在,我想在此表中找到所选行。我该怎么做? 我在jtable的鼠标点击事件中的代码不起作用! 我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果在单击JTable中的某一行时需要获取一些数据,请使用以下代码。

int row=tbl_student.getSelectedRow();
String Table_data=(tbl_student.getModel().getValueAt(row, 0).toString());  // In here 0 means the column number.

//If you have a JTable with 5 columns; 0 is the 1st column and 4 is the last (5th) column. 

如果你想将数据库表中的数据传递给JTable,它们是一个名为rs2xml.jar的库,在该库的帮助下,你只需用数据库数据填充JTable即可。

您可以从HERE下载该库。

下载库后,使用以下代码填充JTable。

Connection conn=null;
ResultSet rs=null;
PreparedStatement pst=null;

   try{
        String sql="SELECT * FROM table_name"
        conn=java_connect.ConnecrDb();         //Database connecting class
        pst=conn.prepareStatement(sql);
        rs=pst.executeQuery();

        tbl_student.setModel(DbUtils.resultSetToTableModel(rs));
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);

    }

finally{
         try{
             rs.close();
             pst.close();
         }
         catch(Exception e){
          JOptionPane.showMessageDialog(null, e);     
         }
       }