数据库statement的问题
xqian 2003-10-20 05:03:36 在javaBean里面这样写:
public class loginBean {
public ResultSet sample;
private static Connection conn;
private static Statement stmt;
//取得当前用户信息
public ResultSet getLogin(String paralogin,String paraIP) {
try {
if (conn == null){
//OpenConnection是一个自己写的,专门打开connection的包,getconn方法返回一个connection.
OpenConnection oc1=new OpenConnection();
conn=oc1.getconn();
}
if(stmt!=null) //(2)
{
stmt.close();
}
stmt = conn.createStatement (); //(1)
String querystr = "select * from user where userid='" + paralogin + "'";
ResultSet rset = stmt.executeQuery (querystr);
sample = rset;
} catch(Exception e) {e.printStackTrace();}
return sample;
}
……
}
原来并没有(2)处的if块,在网站刚刚重新发布的时候是没问题的,但是过了一段时间(大约是1小时吧)后,调用的网页就得不到ResultSet返回了。进行调试,发现程序运行到(1)处的时候不会动了。后来加上了(2)处的if块,结果1小时后在(2)处的close语句不会动了。
请问这是怎么一回事啊?