我如何使用jTextField在数据库中搜索

时间:2014-07-03 01:00:37

标签: java database jtable jtextfield

我每个人都有编写连接数据库的程序我创建jTextField和jTable我的问题是我如何使用jTextField在数据库中进行serch并在jTable中查看我尝试的代码如下

尝试{

    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));






}            

1 个答案:

答案 0 :(得分: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();

阅读维护要容易得多。