我正在创建一个小型数据库,可以存储我的工作编号记录。我想用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);
}
}
});
发布于 2019-10-22 00:35:55
既然您已经在使用Prepared statements
,请先尝试使用parametarized query
。
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);
}
}
});
https://stackoverflow.com/questions/58495354
复制相似问题