2014-11-05 59 views
0

我有一個存儲過程,其中avg_pressure列是empty.I必須創建一個方法來計算行中的各列的平均值,並將計算出的平均值放在各自的行和column.My平均計算方法是: -在java中存儲過程的各列的平均計算

public int arrayAverage() throws NumberFormatException, SQLException { 
 
\t \t \t  int sum = 0; 
 
\t \t \t  int count = 0; 
 
\t \t \t getConnection(); 
 
\t \t \t \t String A= rs.getString("st1_vs1_bag1_rb"); 
 
\t \t \t \t String B= rs.getString("st1_vs1_bag2_rb"); 
 
\t \t \t \t String C= rs.getString("st1_vs1_bag4_rb"); 
 
\t \t \t  for (int i = 0; i < a.length; i++) 
 
\t \t \t  { 
 
\t \t \t   for (int j = 0; j < a[i].length; j++) 
 
\t \t \t   { 
 
\t \t \t    
 
\t \t \t   sum +=Integer.parseInt(A+B+C); 
 
\t \t \t  
 
\t \t \t    count++; 
 
        }

我的表數據是從下面的方法獲得: -

public String[][] getDbTable() 
 
\t \t { 
 
\t 
 
\t 
 
\t \t \t int i = 0; 
 
\t \t \t String [][]a = new String[3600][16]; 
 
\t \t \t System.out.println("datetime is" +d); 
 
\t \t \t System.out.println("datetime is" +currentDate); 
 
\t \t \t try 
 
\t \t \t { 
 
\t    con = getConnection(); 
 
\t \t   
 
\t   
 
\t    String sql = "exec vcs_gauge @gauge_name=?,@first_rec_time=?,@last_rec_time=?"; 
 
\t    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 
\t    System.out.println("date is "+df.format(currentDate)); 
 
\t    clstmt = con.prepareCall(sql); 
 
\t    clstmt.setString(1,"vs1_bag"); 
 
\t    
 
\t  clstmt.setString(2, "2014-09-01 10:00:00"); 
 
\t  clstmt.setString(3, "2014-09-01 11:00:00"); 
 
\t  
 
\t    clstmt.execute(); 
 
\t    rs = clstmt.getResultSet(); 
 
\t    
 
\t \t \t \t 
 
\t \t \t \t while (rs.next()) 
 
\t \t \t \t { 
 
\t \t \t \t \t for(int j=0; j<16; j++) 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t \t a[i][j] \t = rs.getString(j+1); 
 
\t \t \t \t \t } 
 
\t \t \t \t 
 
\t \t \t \t \t i++; 
 
\t \t \t \t } 
 
\t \t \t 
 
\t \t \t } 
 
\t 
 
\t \t \t catch(Exception e) 
 
\t \t \t { 
 
\t \t \t \t System.out.println("\nException in Display Bean in getDbTable(String code):"+e); 
 
\t \t \t } 
 
\t \t \t finally 
 
\t \t \t { 
 
\t \t \t \t 
 
\t \t \t \t closeConnection(); 
 
\t \t \t } 
 
\t \t \t return a; 
 
\t \t }

但是,當我通過JSP運行arrayAverage()方法然後以下拋出異常。 com.microsoft.sqlserver.jdbc.SQLServerException:結果集關閉。

在此先感謝。

回答

0

取決於您使用的池的類型,關閉Connection時,對象Statement和ResultSet也將被關閉。

嘗試在整理連接之前檢索想要的數據。