谁帮我看看 返回语句应该写在哪里? 写在最后就可以了;如果有必要,还可以在catch后的block内对rsArray赋值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按照他的代码,放在最后肯定会出错。代码改一下,就可以放在最后了:public ArrayList getResult(){ ArrayList rsArray = null; try{ String sql=gs.getSQL(); ResultSet res=dbConn.executeQuery(sql); ResultSetMetaData rsma = res.getMetaData(); int ccount = rsma.getColumnCount(); //ArrayList rsArray = new ArrayList(); rsArray = new ArrayList(); while (res.next()) { for (int i = 2; i < ccount+1; i++) { //System.out.print(i); if (res.getString(i)==null){ rsArray.add(""); }else{ rsArray.add(res.getString(i)); } } } //return rsArray; }catch (Exception e) { e.printStackTrace(); } return rsArray;} 写在最后,或则写在FINALLY里 ejbcreate为什么 阿,象你这杨 也不成啊 ejbcreate 可以了,可是为什么要这样 写呢? 我倒认为 楼主 放的位置是合理的;因为: 放在Try 的最后一行,当有异常抛出时,rsArray它就不会被正常返回,只有放在cacth()后才可以,但是,如果有异常抛出后,返回的rsArray还有没有意义??? 所以我觉得应该按楼主的位置放. 但是catch(Exception e ) { e.printStackTrace(); return null;} 正常就返回 rsArray 否则 返回 null 这样写,可以根据返回的值判断数据库操作的正确性!!! ejbcreate 的意思很明显呀!你把ArrayList rsArray = new ArrayList(); 放在 try { }之中,它相当与局部变量,在try之外当然不能访问了! 所以就不能return rsArray; 但是,如果把return rsArray;放在try { } 之内,像我说得那样,就没关系了! 小弟的意见应该综合楼主的和ejbcreate的:public ArrayList getResult(){ ArrayList rsArray = null; try{ String sql=gs.getSQL(); ResultSet res=dbConn.executeQuery(sql); ResultSetMetaData rsma = res.getMetaData(); int ccount = rsma.getColumnCount(); rsArray = new ArrayList(); while (res.next()) { for (int i = 2; i < ccount+1; i++) { //System.out.print(i); if (res.getString(i)==null){ rsArray.add(""); }else{ rsArray.add(res.getString(i)); } } } return rsArray; }catch (Exception e) { e.printStackTrace(); } finally { return rsArray;}} ejbcreate() 的对;程序没问题,就返回得到的值,否则返回空的 public ArrayList getResult(){ ArrayList rsArray = new ArrayList(); try{ String sql=gs.getSQL(); ResultSet res=dbConn.executeQuery(sql); ResultSetMetaData rsma = res.getMetaData(); int ccount = rsma.getColumnCount(); while (res.next()) { for (int i = 2; i < ccount+1; i++) { //System.out.print(i); if (res.getString(i)==null){ rsArray.add(""); }else{ rsArray.add(res.getString(i)); } } } }catch (Exception e) { e.printStackTrace(); } return rsArray; }arraylist的定义要放到try的外边,否则操作数据库的时候要是抛例外的话,就执行不了rsArray的定义,所以后面返回时就肯定会出错了! 一对多关系在JSP页面上如何展示? 谁来帮我看看物品哪块错了 一个毫无头绪的异常 ★★★★★★★java 如何编写程序测试服务器连接★★★★★★★★★★★★★★ 在JSP页面里用Resutlset 结受JavaBean里返回的结果集总是空值? 我要做一个会员主页 就像QQ空间那样 急!~~~~ tomcat 5问题 请问在Jsp文件中可以定义函数吗? 请问一个配置问题 像chinaren上“多彩留言”那样的功能怎么做? 一个很奇怪的错误
代码改一下,就可以放在最后了:
public ArrayList getResult(){
ArrayList rsArray = null; try{
String sql=gs.getSQL(); ResultSet res=dbConn.executeQuery(sql);
ResultSetMetaData rsma = res.getMetaData();
int ccount = rsma.getColumnCount();
//ArrayList rsArray = new ArrayList();
rsArray = new ArrayList();
while (res.next()) {
for (int i = 2; i < ccount+1; i++) {
//System.out.print(i);
if (res.getString(i)==null){
rsArray.add("");
}else{
rsArray.add(res.getString(i));
}
}
}
//return rsArray;
}catch (Exception e) {
e.printStackTrace();
}
return rsArray;
}
放在Try 的最后一行,当有异常抛出时,rsArray它就不会被正常返回,只有放在cacth()后才可以,但是,如果有异常抛出后,返回的rsArray还有没有意义???
所以我觉得应该按楼主的位置放.
但是catch(Exception e ) { e.printStackTrace(); return null;}
正常就返回 rsArray 否则 返回 null
这样写,可以根据返回的值判断数据库操作的正确性!!!
public ArrayList getResult(){
ArrayList rsArray = null; try{
String sql=gs.getSQL(); ResultSet res=dbConn.executeQuery(sql);
ResultSetMetaData rsma = res.getMetaData();
int ccount = rsma.getColumnCount();
rsArray = new ArrayList();
while (res.next()) {
for (int i = 2; i < ccount+1; i++) {
//System.out.print(i);
if (res.getString(i)==null){
rsArray.add("");
}else{
rsArray.add(res.getString(i));
}
}
}
return rsArray;
}catch (Exception e) {
e.printStackTrace();
} finally {
return rsArray;}
}
ArrayList rsArray = new ArrayList();
try{
String sql=gs.getSQL(); ResultSet res=dbConn.executeQuery(sql);
ResultSetMetaData rsma = res.getMetaData();
int ccount = rsma.getColumnCount();
while (res.next()) {
for (int i = 2; i < ccount+1; i++) {
//System.out.print(i);
if (res.getString(i)==null){
rsArray.add("");
}else{
rsArray.add(res.getString(i));
}
}
}
}catch (Exception e) {
e.printStackTrace();
}
return rsArray;
}
arraylist的定义要放到try的外边,否则操作数据库的时候要是抛例外的话,就执行不了rsArray的定义,所以后面返回时就肯定会出错了!