其实有2个问题,
1。例如Statement st = conn.createStatement();
       ResultSet rs = st.executeQuery(sql);
       这时,如果st先关闭了,rs还能用吗?
2。 String name = "myname";
    PreparedStatement ps = conn.createPreparedStatement("insert mytable values(?)");
    ps.setString(1,name);

    PreparedStatement ps = conn.createPreparedStatement("insert mytable values('"+name+"')");
有什么区别??

解决方案 »

  1.   

    第一个:rs不能用了。
    第二个:一样,你就把PreparedStatement 的优点给抹杀了。因为PreparedStatement 本身起到一个模版的作用,而你这样用的话就把这个模版给定死了。
    一点更改的余地都不留了。
      

  2.   

    关于第二个问题,我遇到过问题,在SQL  Server 中,如果是插入的image类型的字段,就不能用setString ,而只能直接写在字符串里,我不知道为什么
      

  3.   

    image类型当然不能直接插了,因为它不是String啊
    不过保存图像最好还是保存它的路径,这样既省时又省空间
      

  4.   

    不是保存图片,是word文件,用二进制保存,数据库是这样建的, 我也没办法啊,原来用的是mysql,后来改成sqlserver,代码里面就是直接往里写,用setstring,但是在sqlserver里面不行,不过mysql我也没试过.原理好象是要把文件转成二进制写进数据库