jdbc编程sql语句传递,,求助

String sql = "select * from myemp where empno = ?";
int empno = 0;
try{
empno = DBUtils.inPutInt("请输入要查询的员工的编号,如[7369]:");
}catch(Exception e){
empno = DBUtils.inPutInt("输入不正确,请重新输入编号:");
}
System.out.println("你要找的编号为" + empno + "的员工具体信息如下:\n");
pstmt = DBUtils.getPreparedStatement(con, sql);
pstmt.setInt(1, empno);
em.find(sql);
}

public static void find(String sql) throws SQLException{
    boolean falg = false;
    int empno = 0;
    pstmt = DBUtils.getPreparedStatement(con, sql);
    rs = DBUtils.getResultSetOfDB(pstmt);
    try {
        while(rs.next()){
            empno = rs.getInt(1);
            String ename = rs.getString(2);
            String job = rs.getString(3);
            int mgr = rs.getInt(4);
            Date hiredate = rs.getDate(5);
            double sal = rs.getDouble(6);
            double comm = rs.getDouble(7);
            int deptno = rs.getInt(8);
            falg = true;
            System.out.print(empno + "  " + ename + "  " + job + "  " + mgr);

            System.out.println("  " + hiredate + "  " + sal + "  " + comm
                    + "  " + deptno);
        }
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

为第一个方法sql语句中的"?" 添值,再将sql语句传递到第二个方法解析,最后用第一个方法调用第二个方法,提示索引丢失。。。怎么破, 怎样才将sql语句补充完整再传递到第二个方法中,,两个方法不能合并为一个

你这个逻辑看起来好像没什么问题,把你生成的SQL语句输出一下,在数据库里执行一下看能运行吗

那你为什么不直接用字符串操作来拼你的sql语句?PreparedStatement是有生命周期的,只能在当前的connection里使用。