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:結果集關閉。
在此先感謝。