下面是小弟写的,可以用,但是,在关闭那里,我觉得还有问题。package bxconn;
import java.io.*;
import java.sql.*;
import javax.sql.*; 
import java.util.*;
import java.lang.Boolean;
import net.sourceforge.jtds.jdbc.Driver.*;
public class connPool{String dbUrl="proxool.test:net.sourceforge.jtds.jdbc.Driver:jdbc:jtds:sqlserver://localhost:1433/lzudata;user=sa;password=00000000";
ResultSet rs=null;
Statement stmt;
Connection connection=null;
public void connPool(){
try { 
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); 
} catch (Exception e) { 
System.out.println(e); 

}

//查询数据库public ResultSet executeQuery(String sql){
rs=null;
try{
  connection=DriverManager.getConnection(dbUrl);
 Statement stmt=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);}catch(SQLException ex)
        {
         System.err.println("aq.executeQuery:"+ex.getMessage());
        }
return rs;
}
//插入数据库
public boolean executeUpdate(String sql){
boolean a=false;
try{
connection=DriverManager.getConnection(dbUrl);
 Statement stmt=connection.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_UPDATABLE);
int b=stmt.executeUpdate(sql);
 if(b!=0) a=true;
}catch(SQLException ex)
        {
         System.err.println("aq.executeUpdate:"+ex.getMessage());
        }
return a;
}
public void close() throws Exception 
{
                          if (stmt != null) {
                                  stmt.close();
                                            }
 
                          if(connection != null){
                          connection.close();
                                         }
    }}关闭部分是不是应该用以下写法?还有其他地方,是不是有不完善的地方?finally
{if (rst != null)
{
try
{
rst.close();
}
catch (SQLException ex1)
{
ex1.printStackTrace();
}
}if (pstm != null)
{
try
{
pstm.close();
}
catch (SQLException ex2)
{
ex2.printStackTrace();
}
}if (conn != null)
{
try
{
conn.close();
}
catch (SQLException ex3)
{
ex3.printStackTrace();
}
}
}

解决方案 »

  1.   

    public void close() throws Exception 
    {

    finally
    {if (rs != null)
    {
    try
    {
    rs.close();
    }
    catch (SQLException ex1)
    {
    ex1.printStackTrace();
    }
    }if (stmt != null)
    {
    try
    {
    stmt.close();
    }
    catch (SQLException ex2)
    {
    ex2.printStackTrace();
    }
    }if (connection != null)
     {
       try{
       connection.close();
       }catch (SQLException ex3){
       ex3.printStackTrace();
       }
     }
    }
    /*
                              if (stmt != null) {
                                      stmt.close();
                                                }
     
                              if(connection != null){
                              connection.close();
                                             }
                                             */
        }}这样写错在哪里?
      

  2.   

    普通的一个CRUD操作类可以这么做另外,这个类称不上“池”