1、你的两种做法都没有什么问题,只是记得释放就好了。
2、同一个connection当然可以创建多个statement

解决方案 »

  1.   

    先回答第二个:同一个 Connection 可以创建多个 Statement。
    再用 java api 回答第一个:
    By default, only one ResultSet object per Statement object can be open at the same time. Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. All execution methods in the Statement interface implicitly close a statment's current ResultSet object if an open one exists.
    http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html
      

  2.   

    老大,你这个排版。。意思是说一个Statement的第2次执行方法会隐含关闭当前打开的ResultSet?
      

  3.   

    Quote: 引用 楼主 u010165006 的回复:

    是创建一个Statement,两次执行SQL语句得到2个ResultSet,
    还是分别创建2个Statement分别执行SQL语句得到2个ResultSet呢? 这个是对的另外,同一个Connection可以创建多个Statement吗? 可以创建多个
      

  4.   

    老大,你这个排版。。意思是说一个Statement的第2次执行方法会隐含关闭当前打开的ResultSet?是的,如果你执行了第二个 ResultSet,那么第一个就被关闭了。就是说,一个 Statement 只能同时打开一个 ResultSet。
    在打开第二个之前,第一个是可用的,可以进行任何操作;
    打开第二个之后,第一个就不可用了,只能用第二个操作。
      

  5.   

    老大,你这个排版。。意思是说一个Statement的第2次执行方法会隐含关闭当前打开的ResultSet?是的,如果你执行了第二个 ResultSet,那么第一个就被关闭了。就是说,一个 Statement 只能同时打开一个 ResultSet。
    在打开第二个之前,第一个是可用的,可以进行任何操作;
    打开第二个之后,第一个就不可用了,只能用第二个操作。
    那2个ResultSet要交替读取只能2个Statement了。
    老大,碰到技术问题你是怎样准确定位到官网的文档呢?这个学问很重要,百度来百度去经常没个准。
      

  6.   

    那2个ResultSet要交替读取只能2个Statement了。
    -------------------------------------------
    +1
    百度来百度去经常没个准
    -----------------------
    百度搜技术问题不靠谱,谷歌