prestmt.setString(1, "aaa1");//string 
   prestmt.setString(2, "0000");
   prestmt.setInt(3, fileSize);//int
   prestmt.setString(4, DbaObj.GetDateTime());//date

解决方案 »

  1.   

    String sql = "UPDATE  dbfile SET 姓名 = ?, 性别 = ? WHERE 档案号 = ? ";PreparedStatement statement;
    try {
        statement = con.prepareCall(sql);
    } catch(SQLException sqlw) {}statement.setString(1, "张三");
    statement.setBoolean(2, true);
      

  2.   

    Connection conn;
    PreparedStatement stat;
    String SqlQuery = "SELECT * FROM Employee WHERE name = ?"
    stat = conn.PreparedStatement(SqlQuery);
    stat.setString(1,"Zidane");
      

  3.   

    PreparedStatement pstmt=conn.prepareStatement("UPDATE table SET m=?WHERE x=?");
    pstmt.setInt(1,50);//传进参数,第一个参数,也就是第一个问号
    pstmt.setString(2,"Espresso");//第二个参数,第二个问好
    pstmt.executeUpdate();
    //上面的用于执行更新的语句,查询的时间除了把语句改掉外,下面的也要改 
    pstmt.executeUpdate();--》》pstmt.executeQuery();
    但传进参数的语法不变,注意数据类型。
      

  4.   

    你好像没有理解我的意思:
    in(?)如下面的例子:
    ?中是一个列表,如'1','2','3'.
    替换后应该是 in ('1','2','3'),但是我把'1','2','3'传进取却不能正确的执行取得结果
    但是在sqlplus中却能正确的执行阿,
    我向高手请教了阿。
      

  5.   

    拷贝楼上的:
    String sql = "UPDATE  dbfile SET 姓名 = ?, 性别 = ? WHERE 档案号 = ? ";PreparedStatement statement;
    try {
        statement = con.prepareCall(sql);
    } catch(SQLException sqlw) {}statement.setString(1, "张三");
    statement.setBoolean(2, true);