如何根据带有“0”的文本字段条目查询 SQLite 数据库?

How to query SQLite database based on textfield entry with "0's"?

我正在创建一个小型数据库来存储我的工作编号记录。我想以 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);

                }
            }
        });

首先尝试使用 parametarized query,因为您已经在使用 Prepared statements

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);

        }
    }
});