当前位置: 代码迷 >> Java Web开发 >> 本人新手,请教java 操作sql数据库 数据库连接数持续上升导致死机。怎样释放连接数
  详细解决方案

本人新手,请教java 操作sql数据库 数据库连接数持续上升导致死机。怎样释放连接数

热度:4654   发布时间:2016-04-10 22:55:17.0
本人新手,请问java 操作sql数据库 数据库连接数持续上升导致死机。怎样释放连接数
本人新手,请问java 操作sql数据库 数据库连接数持续上升导致死机。程序调用ResultSet dbquery怎样释放连接数
谢谢 请帮忙写个释放代码
package dbcon;
import java.sql.*;
import java.net.*;
import java.util.StringTokenizer;
import java.util.*;
import java.io.IOException;
import java.io.PrintStream;
import java.io.*;
import javax.servlet.http.*;
public class dbcon{
 private static  String driverstr=" ";
 private static  String user=" ";
 private static  String password=" ";
 private   String databasename=" ";
 private static  String midname="";
 private static  String errorbz=" ";
 private static  String url=" "; //"jdbc:microsoft:sqlserver://10.66.39.134:1433;DatabaseName=test";
  ResultSet rs;
  String vhostipaddress="";
private   HttpSession mysession;

public int dbtest()
{
  try{
 
   Connection conn=getConn();
  return 1;
  }catch(Exception e)
  {
   System.out.print(e.toString());
   return 0;
  }
}
public int setSession( HttpSession rq)
{
  mysession=rq;
  
  return 1;
}
public int putsession()
{
  return 1;
}
public void dbexe(String sqlstr)
 {
  try{
 
  Connection conn= getConn();
  Statement   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  stmt.execute(sqlstr);
  errorbz="0";
  }catch(Exception e)
  {
   System.out.println(e.toString());
   errorbz="1";
  }
 }
public String getErrorbz()
{
return errorbz;
}

public ResultSet dbquery(String sqlstr)
{
  try{
  
  Connection conn=getConn(); 
  Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  rs=stmt.executeQuery(sqlstr);
}
catch(Exception e){
System.out.println(e.toString());
return null;
}
  return rs;
}

public  void setDatabasename(String value)
{

System.out.println("before"+databasename);
  String ax=value;
String bx=ax.substring(0,6);
String cx=ax.substring(6,11);
  int rt=0;
  if(driverstr.trim().length()==0)
   try {
        rt=getxml();
        databasename=bx+midname.trim()+cx;
   }
   catch(Exception e)
   {
     databasename="";
   }

 databasename=bx+midname.trim()+cx;
System.out.println("after"+databasename);
//databasename=value;
}
public String getDatabasename()
{
return databasename;
}

public int dbcheck(String checkstr,String strcorpcode)
{
  int errorrowindex=-1;
  int i;
  try{
StringTokenizer st = new StringTokenizer(checkstr,"~~~");
String arr[] = new String[st.countTokens()];
for (i=0; st.hasMoreTokens(); i++)
{
arr[i] = st.nextToken();
}

 
  Connection conn= getConn();

  Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  
  for (int j=0; j<i; j++)
  {
rs=stmt.executeQuery("select * from wzzl where (corpcode='"+strcorpcode+"' or (groupflag=1 and wzkkbz=1)) and wzbh='"+arr[j]+"'");
if(!rs.next())
{
return j;
}
  }
  //rs=stmt.executeQuery(sqlstr);

}
catch(Exception e){
System.out.println(e.toString());
}
  return errorrowindex;
}


public int numQry(String sqlstr) //gogogo

  int numRst=0; //记录结果条数

  try{
  
  Connection conn=getConn();
  Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  rs=stmt.executeQuery(sqlstr);
  
  while(rs.next()){ //未经验证$$$$$$$$$$
numRst++;
  }

}
  catch(Exception e){
System.out.println(e.toString());
}
return numRst;
}
public  int getxml() throws Exception
    {
    // Document doc;
    // Element  root;
    // List confs;
       //URL rL;
  相关解决方案