gpt4 book ai didi

java - 如何根据 2 个参数查询 SQLite 表?

转载 作者:行者123 更新时间:2023-12-01 22:34:42 26 4
gpt4 key购买 nike

我正在尝试基于两列查询我的 SQLite 表,这两列等于 jList 和 jtextfield 的值。我设置了一个 ListSelectionListener 来等待从列表中选择哪个“日期”。我知道我的代码对于 select 语句是错误的,但我找不到任何其他在线帮助,其中包含我可以关联的示例。任何帮助都会很棒!谢谢

这里是一个基本示例:

listJobCostDates = new JList();
listJobCostDates.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
String jobNumber = txtJobNumber.getText().toString();
Object dateNumber = listJobCostDates.getSelectedValue();

String sql = "SELECT * FROM JOBCOSTS where Job_Number,Date='" +jobNumber+"'" AND Date =+dateNumber+"'" ;

try {

pst=conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()) {
tblDayJobCosts.setModel(DbUtils.resultSetToTableModel(rs));

}

}catch (Exception e) {
JOptionPane.showMessageDialog(null, e);

}
}
});

最佳答案

你的where条件不正确

 String sql = "SELECT * FROM JOBCOSTS where Job_Number = '" +jobNumber+ "' and Date ='"+dateNumber+"'"  

但上面容易出现sql注入(inject),请使用Prepared statements代替。

 pst=conn.prepareStatement("SELECT * FROM JOBCOSTS where Job_Number = ? and Date = ?);
pst.setString(1, jobNumber);
pst.setString(2, dateNumber);

关于java - 如何根据 2 个参数查询 SQLite 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58532875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com