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

Java 如何使用jTextField在数据库中搜索,java,database,jtable,jtextfield,Java,Database,Jtable,Jtextfield,大家好,我已经编写了连接到数据库的程序,我创建了jTextField和jTable。我的问题是如何使用jTextField在数据库中搜索并在jTable中查看我尝试的代码如下 试试{ String host = "jdbc:derby://localhost:1527/PROCAT"; String uName = "zain"; String uPass = "zain"; Connection con = DriverManager.getConnection

大家好,我已经编写了连接到数据库的程序,我创建了jTextField和jTable。我的问题是如何使用jTextField在数据库中搜索并在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));






}            

不要忽略异常。如果不显示错误消息,如何调试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();

阅读维护要容易得多。

每个线程一个问题。首先,第二个问题没有任何意义(至少对我来说)第二,当你在同一个线程中对两个不同的问题有评论/回答时,会让人感到困惑。第三,如果答案不能同时回答两个问题,你将如何接受答案?感谢兄弟,我只提出一个问题,也感谢你关于使用例外的建议,但我正在努力解决这个问题,之后仍然无法工作我加上相等的数字