在使用这2个方法时由于搞不清楚差别着实吃了不少苦头,但是俗话说得好,吃一堑长一智,吃过亏的事情往往会记得比较牢.
这两个变量都是用来在JSP中调用实行SQL语句并且返回一个记录集的:
CDatabaseOra db = new CDatabaseOra();
db.InitOraDB();
ResultSet rs = null;
String sql,sql2;
pt.initDB();
sql = "select to_char(add_months(to_date("+LDATE.substring(0,6)+"01,'yyyymmdd'),-4'yyyymmdd') from dual ";
rs = db.execute(sql);
while(rs.next()){Statement;}
首先db.execute和db.executeQuery不能在同一个循环中重复调用例如:
rs = db.execute(sql);
while(rs.next()){
Statement;
rs2 = db.execute(sql2);}
是会出错的,应该将其中一个方法修改为db.executeQuery
第二个要注意的地方就是db.executeQuery只能支持被调用255次,所以一般放在最外层被较少重复调用的循环使用.
最后,在同一个循环下的子循环中可以重复调用例如:
rs = db.execute(sql);
while(rs.next()){
Statement;
rs2 = db