大家好,以下代码中select语句应该怎样改正呢?jspdev数据库中的Bk表里有属性bookID,且已存在054100117这一元组,但只有方法2才可以找出元组,但是这样必须事先知道属性值,如果我要以方法1操作,应该怎么改呢,谢谢~~
-------------------
方法1:
String temp = "054100117";
ResultSet rst = stmt.executeQuery("select * from jspdev..Bk where bookID=" + temp);
----------------------
方法2
ResultSet rst = stmt.executeQuery("select * from jspdev..Bk where bookID='054100117'");

解决方案 »

  1.   

    ResultSet   rst   =   stmt.executeQuery("select   *   from   jspdev..Bk   where   bookID="   +   temp+"'"); 
      

  2.   

    用 PreparedStatement
    你可以把select语句这样写
    "select   *   from   jspdev..Bk   where   bookID = ?"
    然后定义一个PreparedStatement变量,再在方法里利用PreparedStatement变量设置"问号"的值
    具体就是这样:
    String SBYTMP = select   *   from   jspdev..Bk   where   bookID= ?"
    private PreparedStatement ps;//方法有一个参数
    public List findAll(String temp){
            ps = conn.prepareStatement(SBYTMP);
    ps.setString(1, temp);//这里的temp就是参数来的
    rs = ps.executeQuery();
            .....
            .....
    }
    然后你可以调用这个函数得到你想要的结果