【问题标题】:How to search SQL Database and display it on a JTable如何搜索 SQL 数据库并将其显示在 JTable 上
【发布时间】:2014-03-06 08:57:41
【问题描述】:

正如标题所说,我想搜索一个 SQL 数据库,并使用keyReleased 上的 jTextField 将其显示在 JTable 上。 这是我尝试过的:

 private void jTextField2KeyReleased(java.awt.event.KeyEvent evt) {                                        

 try{
     int get = (int)jTable2.getModel().getValueAt(jTable2.getSelectedRow(), 0);
        String query = "SELECT FName FROM roominfo WHERE FName LIKE '%" + jTextField2.getText() + "%'";

        String url = "jdbc:mysql://localhost:3306/adv"; 
        Connection conn = DriverManager.getConnection(url,"root","sa"); 
        Statement st = conn.createStatement();
        rs = st.executeQuery(query);
         jTable2.setModel(DbUtils.resultSetToTableModel(rs));

    conn.close();

}
     catch (Exception e) { 
        System.err.println("Got an exception! "); 
        JOptionPane.showMessageDialog(null,"Got an exception!");
        System.err.println(e.getMessage()); 
    }         // TODO add your handling code here:
}    

但是,我不能正确地做到这一点。似乎是什么问题?它仍然没有搜索。

【问题讨论】:

标签: java mysql swing jtable


【解决方案1】:

keyPressed:

try{
      String url = "jdbc:mysql://localhost:3306/adv"; 
        Connection conn = DriverManager.getConnection(url,"root","sa"); 
        Statement st = conn.createStatement();
        String query = "SELECT CustomerNo, FName, FROM roominfo WHERE FName LIKE '%" + jTextField2.getText() + "%'";
      rs = st.executeQuery(query);
      jTable2.setModel(DbUtils.resultSetToTableModel(rs)); 

    conn.close();

}
     catch (Exception e) { 
        JOptionPane.showMessageDialog(null,"Got an exception!");
        System.err.println(e.getMessage()); 
    }        

【讨论】:

    【解决方案2】:

    下载 rs2xml.jar 库并将其导入您的特定项目库。 然后 import net.proteanit.sql.DbUtils; 在特定的 java 类中。 有一个名为 student 的数据库表,当我们在 txtId 中插入 id 值,然后单击创建的 search 按钮进行操作。特定学生 id 的行数据将在创建的tableStudent 内部执行。

    search 按钮内的代码如下:

            String id = txtId.getText();
            String searchQuery = "SELECT * FROM student WHERE id ='"+id+"'";
            try {
                PreparedStatement pst = conn.prepareStatement(searchQuery);
                ResultSet rs = pst.executeQuery();
                tableStudent.setModel(DbUtils.resultSetToTableModel(rs));
            } catch (SQLException ex) {
                Logger.getLogger(UpdateDonor.class.getName()).log(Level.SEVERE, null, ex);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      相关资源
      最近更新 更多