【发布时间】:2013-06-09 09:37:56
【问题描述】:
我如何从 2 个 JDateChooser 格式的 yyyy-MM-d 中获取值并将其放入 sql 查询(String sql="select .... from ... between date1 and date2"),该查询应在这些日期之间搜索数据并在 JTable 中输出。
我使用了代码但没有出现输出:
String v1 = gr_date1.getDate().toString();
String v2 = gr_date2.getDate().toString();
try {
sql = "select barcode,itemName,description,supplier,capital,wholesale,srp,minStock,status,dateSaved from item where dateSaved between '"+v1+"' AND '"+v2+"'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
gReport_table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
【问题讨论】:
-
首先,永远不要像这样构建 SQL 查询。目前这可能不是问题,因为
v1和v2字符串是如何构建的,但给它一些时间,根据墨菲定律,有人将最终更改它,因此它容易受到 SQL 注入的影响:en.wikipedia.org/wiki/SQL_injection 我强烈建议您改用可以安全转义参数以防止 SQL 注入的查询构建库。 -
它的修复还是谢谢先生,这只是一个示例编码,但可能会在我们的进一步课程中得到增强
标签: mysql netbeans search-engine jdatechooser