首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于连接数据库后的关闭有关问题。

2012-01-22 
关于连接数据库后的关闭问题。在线等!急!!!!!!!!!大家请帮帮忙看一下,我是新学这个的,请大家帮我看一下,如

关于连接数据库后的关闭问题。在线等!急!!!!!!!!!
大家请帮帮忙看一下,我是新学这个的,请大家帮我看一下,如果我的jsp调用这个类,我在jsp中最后还用调用db.close()这个方法吗???;

package   airinb2b;
import   java.sql.*;
import   java.io.*;
import   java.util.*;
public   class   conn     //定义类名
{
    java.sql.Connection   con;
    Statement     st;
    ResultSet     rs;
    public   conn()
    {
        try{           //容错
                    Class.forName( "net.sourceforge.jtds.jdbc.Driver ");
                    DriverManager.registerDriver(new   net.sourceforge.jtds.jdbc.Driver());
                    con   =   java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://127.0.0.1:1433/airin_b2b;user=sa;password=tytymnty110110 ");
                    st   =   con.createStatement();

              }
              catch(Exception   e){}
    }


/**查询记录的方法*/


    public   ResultSet   Query(String   biao,String   table,String   tiaojian)
        {
        try{//必要的容错
                  String   select   =   "select   "+biao+ "   from     "+table+ "   where   1=1 "+tiaojian;
                  rs   =   st.executeQuery(select);//查询结果的显示
              }
              catch(Exception   e)
                      {
                          System.out.print(e.toString());//容错语句
                      }
                      return   rs;
    }
    public   int   count(String   table)
    {
      int   n=0;
      try{

                  String   select   =   "select   *   from     "+table;
                  rs   =   st.executeQuery(select);//查询结果的显示
                  while(rs.next()){   n   =   rs.getRow();}
              }
              catch(Exception   e)
                      {
                          System.out.print(e.toString());//容错语句
                      }
                      return   n;
    }

/**删除记录的方法*/

    public   void   del(String   table,String   tiaojian)//定义无返回类型的删除方法里面有两个变量


    {                                                                                 //因为删除操作只影响记录的条数
        try
        {
            //delete   from   table   where   conn;
            String   delete   =   "   delete   from   "+table+ "   where   "+tiaojian;
            //定义字符串变量,把不边的写到类里,便的用变量代替
            st.executeUpdate(delete);//执行删除
        }catch(Exception   e){}
    }

/**添加记录的方法(可以随意的添加不需要条件)*/

    public   void   ins(String   table,String   zd,String   zhi)
    {
        try
        {
            //inser   into   table()values()   ;
            String   insert   =   "   insert   into   "+table+ "   ( "+zd+ ")   values   ( "+zhi+ ") ";
            st.executeUpdate(insert);
        }

        catch(Exception   e)
                {
                      System.out.print(e.toString());
                }
    }

/**修改记录*/

    public   void   upd(String   table,String   zd,String   tiaojian)
    {
        try
        {
              //update   table   set   zd= ' "+bl+ " '   where   ID= ' "+kj+ " ';
              String   update;//定义修改变量
              update   =   "   update   "+table+ "   set   "+zd+ "   where   1=1 "+tiaojian;
              st.executeUpdate(update);
              //执行修改变量语句
        }
        catch(Exception   e){}
    }
    private   void   close(Statement   st,ResultSet   rs,   Connection   conn){
        if(rs!=null)
        try{rs.close();}catch(Exception   e){}
    if(st!=null)
        try{st.close();}catch(Exception   e){}
    if   (conn!=null)try{conn.close();}catch(Exception   e){}
}
}

[解决办法]
数据库连接后,一定要关啊.......最好 不要直接操作RS.....
[解决办法]
这样的:把查询的结果直接存在Vector里面,或者ArrayList里面,然后需要查询结果的时候直接从Vector或者ArrayList里面去取,数据库操作完毕以后连接一定要释放,

热点排行