2014-07-03 18 views
0

您好每一個我有一個連接到數據庫中,我創建了JTextField,而JTable以我的問題是我怎麼可以使用的JTextField在JTable的數據庫,並以SERCH寫程序我嘗試的代碼是低於搜索我怎麼可以使用數據庫中的JTextField

嘗試{

String host = "jdbc:derby://localhost:1527/PROCAT"; 
    String uName = "zain"; 
    String uPass = "zain"; 
    Connection con = DriverManager.getConnection(host, uName, uPass); 
    String sql = "Select * from ITEMB where ITEM '"+asdf.getText()+"'"; 
    stmt = con.createStatement(); 

rs = stmt.executeQuery(sql); 

    while (rs.next()) { 
    String pr = rs.getString("PRISE"); 
    String it= rs.getString("ITEMNAME"); 
    String itm = rs.getString("ITEM"); 
    String[] data = {pr, it, itm}; 
    tabMode.addRow(data); 
    double price = Double.parseDouble(rs.getString("prise")); 
      totalpay = price + totalpay; 
      ++rowCount; 
    } 
} 
catch (Exception e) { 
    //ignore 
    } 

    jTextField3.setText(String.valueOf(totalpay)); 






}    
+0

一個問題。首先,第二個問題對我來說沒有任何意義(至少對我來說),其次,當你在同一個線索中有兩個不同問題的評論/回答時會引起混淆,第三,如果你能夠接受答案,你將如何接受答案它不回答這兩個問題? – camickr

+0

感謝兄弟我讓它成爲一個問題,也感謝您有關使用異常的建議,但我嘗試瞭解這一點,但仍然無法工作後,我加入平等 – user3713557

回答

2

不要忽略異常。如果你不顯示錯誤信息,你如何期望調試你的SQL?

我想這個問題是你缺少從你的SELECT語句的 「=」(即 「ITEM = asdf.getText()」)。

但是,要使用SQL更好的辦法是使用PreparedStatement,所以你不必擔心所有的分隔符。所以SQL可能類似於:

String sql = "Select * from ITEMB WHERE ITEM = ?"; 

PreparedStatement stmt = connection.prepareStatement(sql); 

stmt.setString(1, asdf.getText()); 
stmt.executeQuery(); 
stmt.close(); 

讀取維護要容易得多。每個線程