jsp访问oracle超出打开游标的最大数是什么原因?急,在线给分。 我没有用循环,不过我的选择语句是在bean里写的,在页面调用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 函数如下:public ResultSet select(String sql) { try { Statement stmt; stmt=conn.createStatement(); ResultSet rs; rs=stmt.executeQuery(sql); return rs; } catch(Exception ex) { System.err.println(ex); System.out.print("select error"); return null; } } stmt没有close()如果是每次都用的一个con很荣幸的告诉你,你只能用100次但你也别先急着关,一关了,rs也保持不住该怎么办?自己想吧 for(int i=0; i<1000;i++){ System.out.println("i="+i); Statement stmtT = con.createStatement(); stmtT.close(); System.gc(); }你可以试一下这个代码,到100的时候,你的那个错误就会出现,不过我的机子上是100,你的就不一定了 在写一个方法:closeAll()当调用完select()后,用closeAll()关掉所有的connection就可以啦! 我也曾遇过这种情况.这是由于没有关闭Statement,Connection引起的.方法里返回ResultSet,不能在返回前关闭Statement,否则ResultSet得不到.所以不能使用返回ResultSet的方法,如果一定要返回这样的值,只有类似这样:public ResultSet select(String sql,Statement stmt){....//你应该知道怎么了吧}在外面使用完这个方法后,记得关stmt.另外或者这样:public Vector select(String sql){....//里面的stmt等用完要关闭}我常这样用,希望对你有帮助. rs,stmt,conn每打开一次,都得要关闭的呀。最好是调用连接池吧 zhu_liping(zz) 连接池怎么用啊? 在oracle里,其实它的游标数就对应着jdbc连接后的select语句得到的结果集,这里你只要先关掉resultset再关stmnt就行了,不用连接池的时候创建一个连接,从头用到尾,可以到最后才关闭的(只要不在中间继续创建就行),用连接池的话它会有一个空闲等待时间,过了这个时间你不用,它会自己关掉这个连接的。 HQL高手看过来 Oracle中翻页问题 紧急求一个struts2+hibernate能用的Tree(树)的例子,动态的 请问一般这一个计分的功能是怎么实现的 求助啊!!!!!!!好心人帮帮忙!!! java代码中调用JavaScript的一个问题 关于支付宝接口的问题 一个系统条件部分的实现方式 为了以后维护方便,网站的‘地址目录结构‘如何安排? 关于INCLUDE得问题!!! 請問在一個分成上下兩個框架的整個頁面中,上面框架是包含一個form的form.jsp頁面,下面框架則是包含table的另一table.jsp頁面,當按下fo 从哪里起步,有asp向jsp的转换
public ResultSet select(String sql)
{
try
{
Statement stmt;
stmt=conn.createStatement();
ResultSet rs;
rs=stmt.executeQuery(sql);
return rs;
}
catch(Exception ex)
{
System.err.println(ex);
System.out.print("select error");
return null;
}
}
如果是每次都用的一个con
很荣幸的告诉你,你只能用100次但你也别先急着关,一关了,rs也保持不住该怎么办?自己想吧
System.out.println("i="+i);
Statement stmtT = con.createStatement();
stmtT.close();
System.gc();
}
你可以试一下这个代码,
到100的时候,你的那个错误就会出现,不过我的机子上是100,你的就不一定了
当调用完select()后,用closeAll()关掉所有的connection就可以啦!
我也曾遇过这种情况.这是由于没有关闭Statement,Connection引起的.
方法里返回ResultSet,不能在返回前关闭Statement,否则ResultSet得不到.
所以不能使用返回ResultSet的方法,如果一定要返回这样的值,只有类似这样:
public ResultSet select(String sql,Statement stmt){
....//你应该知道怎么了吧
}
在外面使用完这个方法后,记得关stmt.
另外或者这样:
public Vector select(String sql){....//里面的stmt等用完要关闭}
我常这样用,希望对你有帮助.
每打开一次,都得要关闭的呀。
最好是调用连接池吧
连接池怎么用啊?