【问题标题】:how i can search in database using jTextField我如何使用 jTextField 在数据库中搜索
【发布时间】:2014-08-23 23:16:34
【问题描述】:

大家好,我编写的程序连接到数据库我创建 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));






}            

【问题讨论】:

  • 每个线程一个问题。首先,第二个问题没有任何意义(至少对我来说),其次,当您在同一个线程中有与两个不同问题相关的 cmets/answer 时,它会变得令人困惑,第三,如果您将如何接受答案它不能回答这两个问题?
  • 谢谢兄弟,我提出了一个问题,也感谢您对使用异常的建议,但我试图解决这个问题,但在添加相等后仍然无法正常工作

标签: java database jtable jtextfield


【解决方案1】:

不要忽略异常。如果您不显示错误消息,您希望如何调试您的 SQL?

我猜问题是您的选择语句中缺少“=”(即“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();

阅读维护要容易得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 2013-06-05
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多