“java中的搜索方法”;“找不到ID”;

“java中的搜索方法”;“找不到ID”;,java,Java,我在搜索方法上遇到了一些问题,我尝试了下面的代码,他正在工作,但是当数据库中不存在所有者ID时,问题不会给我错误消息“Owner not found” 我错过了什么 private void search() { try { int OWNER_ID = Integer.parseInt(this.owneridtxt.getText().trim()); OwnerRecordDao owndao = new OwnerRecordDao();

我在搜索方法上遇到了一些问题,我尝试了下面的代码,他正在工作,但是当数据库中不存在所有者ID时,问题不会给我错误消息“Owner not found”

我错过了什么

private void search() {

    try {
        int OWNER_ID = Integer.parseInt(this.owneridtxt.getText().trim());
        OwnerRecordDao owndao = new OwnerRecordDao();
        OwnerRecord own = owndao.search(OWNER_ID);
        if (own != null) {               

            companytxt.setText(own.getCOMPANY().toUpperCase());
            addresstxt.setText(own.getADDRESS().toUpperCase());
            citytxt.setText(own.getCITY().toUpperCase());
            statetxt.setText(own.getSTATE().toUpperCase());
            zipcodetxt.setText(Integer.toString(own.getZCODE()));
            phonetxt.setText(own.getPHONE_N());
            regdatetxt.setText(own.getREG_DATE());
        }
        else{
            DM.Message("Owner not found");
        }

    } catch (Exception e) {
        System.out.println(e.toString());
    }

    owneridtxt.requestFocus(true);

}

public OwnerRecord search(int OwnerCode) throws Exception {

        OwnerRecord own = new OwnerRecord();

        String sql = "SELECT COMPANY, ADDRESS, CITY, STATE, ZCODE, PHONE_N, REG_DATE FROM OWNER WHERE OWNER_ID = ?";

        DBConnection con = new DBConnection();
        Connection connect = con.getConnection();
        PreparedStatement ps = connect.prepareStatement(sql);

        try {
            ps.setInt(1, OwnerCode);
            ResultSet rs = ps.executeQuery();

            while (rs.next()) {

                own.setCOMPANY(rs.getString("COMPANY"));
                own.setADDRESS(rs.getString("ADDRESS"));
                own.setCITY(rs.getString("CITY"));
                own.setSTATE(rs.getString("STATE"));
                own.setZCODE(rs.getInt("ZCODE"));
                own.setPHONE_N(rs.getString("PHONE_N"));
                own.setREG_DATE(rs.getString("REG_DATE"));

            }

        } catch (SQLException e) {
            System.out.println(e.toString());
        } finally {
            try {
                connect.close();
                ps.close();
            } catch (SQLException e) {
                System.out.println(e.toString());
            }
        }

        return own;
    }

own
不为null,因为它包含指向
owndao.serach(OWNER\u ID)
返回的任何对象的哈希代码


如果未找到所有者ID,请尝试在搜索方法中返回
null

own
不为null,因为它包含指向任何
owndao.serach(所有者ID)
返回的哈希代码


如果找不到
所有者ID
,请尝试在搜索方法中返回
null

我提供了搜索方法,请您再看一看,无论怎样,搜索都会返回
OWNER
,这是在方法开头创建的
OwnerRecord
对象。为了使
own==null
(从而输入您最初发布的代码的else语句),您必须1)返回
null
,或2)设置
own=null
,并返回
own
,如果您的搜索方法没有找到有效的
所有者ID
是的,我得到了它,我的朋友,我在搜索方法中确实返回了null。而且很有效,非常感谢你!如果这为您解决了问题,请点击左侧的灰色小复选标记!我提供了搜索方法,请您再看一次,好吗,不管怎样,搜索都会返回
own
,这是在方法开始时创建的
OwnerRecord
对象。为了使
own==null
(从而输入您最初发布的代码的else语句),您必须1)返回
null
,或2)设置
own=null
,并返回
own
,如果您的搜索方法没有找到有效的
所有者ID
是的,我得到了它,我的朋友,我在搜索方法中确实返回了null。而且很有效,非常感谢你!如果这为您解决了问题,请点击左侧的灰色小复选标记!