sql="Select * from users where id=";  
PreparedStatement ps=con.PraredStatement("Select * from users where id=?");
  ps.setString("001");
sql=sql+"001";
  ps.executeQuery();
  

解决方案 »

  1.   

    标准接口中没有定义取得真实SQL的方法,你如何能够得到呢,
    如果是驱动程序对应的数据库支持动态SQL,实际上是先在数据库中编译,
    再传递参数--执行,传递参数--执行,多次重复(如DB2,ORACLE等)。
    如果不支持动态SQL,他实际上是在每次传递完参数执行时直接构成SQL
    (如MYSQL),他根本就不给你提供获取的方法,你怎么可以获得呢,看看
    一些驱动程序的源代码就明白了