gpt4 book ai didi

java - 如何根据带有 "0' s"的文本字段输入查询 SQLite 数据库?

转载 作者:行者123 更新时间:2023-12-01 22:41:07 25 4
gpt4 key购买 nike

我正在创建一个小型数据库,可以存储我的工作编号记录。我想每个工作编号以 2 个零 (00) 开头,然后在后面加上工作编号。比如这个《001-2019》。当我去查询数据库时,它不起作用。但如果我去掉零并去掉任何特殊字符,它就可以正常工作。如何使用零和特殊字符查询数据库?

        btnOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
String jobNumber = txtJobNumber.getText();
String sql = "SELECT Date FROM JOBCOSTS where Job_Number =" +jobNumber;
try {
pst=conn.prepareStatement(sql);
rs = pst.executeQuery();
if(rs.next()) {
String date=rs.getString("Date");
txtJobCostDate.setText(date);

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

}
}
});

最佳答案

首先尝试使用参数化查询,因为您已经在使用准备好的语句

String sql = "SELECT Date FROM JOBCOSTS where Job_Number = ?";
pst=conn.prepareStatement(sql);
pst.setString(1, jobNumber);

第二,您的 jobNumber 是否应该是字符串,这样您的前导零就不会被截断。

btnOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
String jobNumber = txtJobNumber.getText();
String sql = "SELECT Date FROM JOBCOSTS where Job_Number ='" +jobNumber+"'";
try {
pst=conn.prepareStatement(sql);
rs = pst.executeQuery();
if(rs.next()) {
String date=rs.getString("Date");
txtJobCostDate.setText(date);

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

}
}
});

关于java - 如何根据带有 "0' s"的文本字段输入查询 SQLite 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58495354/

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