大家好,我编写了连接到数据库的程序,我创建了 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();
阅读维护要容易得多。
关于java - 我如何使用 jTextField 在数据库中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543409/