s = "select * from table where name = '"+para +"'";这个好像和楼主的一样啊,关注下参数方式??

解决方案 »

  1.   

    "INSERT INTO guests ( firstName, lastName, email ) VALUES ( ?, ?, ? )"
    preparedStatement.setString( 1, "xx");
    preparedStatement.setString( 2, "xx");
    preparedStatement.setString( 3, "xx@xx");
      

  2.   

    PreparedStatement pstmt = con.prepareStatement("select * from table where name = ?");
    pstmt.setString(1, para);
    ResultSet rs = pstmt.executeQuery();
      

  3.   

    要看具体JDBC的,有些JDBC写得不好,对这种方法可能支持得不是很好
      

  4.   

    preparestatement的参数方式。不过我不喜欢那样用。
      

  5.   

    PreparedStatement sql = con.prepareStatement("select userName from table where UserID = ?");pstmt.setInt(1, para);
    ResultSet rs = pstmt.executeQuery();
    就是先用?号代替要填的内容,然后设置他的类型。
      

  6.   

    借个地方问问:没有使用参数名传入参数的方法吗?
    spstmt.setInt(第几个参数,参数)
    这种方法总觉不直观,也容易写错要是有 
    select * from t where a=:a
    XXX.setString("a", "a")
    这种方法传入就好
      

  7.   

    使用参数传入有一点好处是能避免sql语句注入