首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

从数据集取出数据并赋值给二维数组的有关问题

2012-06-12 
从数据集取出数据并赋值给二维数组的问题?数据库查询结果:年份1月2月3月4月5月6月7月8月9月10月11月12月20

从数据集取出数据并赋值给二维数组的问题?
数据库查询结果:
年份 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2010  
2011
2012

Java code
          /**     *    从数据集里取出数据并赋值给二维数组,只取月份的数据存入二维数组。     */    public double[][] InvoiceDate(){        double[][] data=null;        try {            conn=MyCon.getCon();            String sql="select * from InvoiceAmtCount";            ps=conn.prepareStatement(sql);            rs=ps.executeQuery();            ResultSetMetaData rsmt=rs.getMetaData();            rs.last();            //获取结果集最后一行的行号            int row=rs.getRow();            //取得数据集的列数            int column=rsmt.getColumnCount();            data=new double[row][column-1];            rs.beforeFirst();                while(rs.next()){                for(int i=0;i<row;i++){                    for(int j=0;j<column-1;j++){                        data[i][j]=rs.getDouble(j+2);                    }                }            }        } catch (SQLException e) {            e.printStackTrace();        }finally{            MyCon.close(rs, ps, conn);        }        return data;    }


请问上面的写法正确吗,我在用JfreeChart做柱状图的时候,引入这个二维数组,生成的图形不太正确。后来输出二维数给的时候,输出的数据是三行2012年的。

[解决办法]
你while循环里面,每次循环都是这个二维数组从第一个元素到最后一个元素都重新赋值一遍,其实只要外面已经循环了,里面只一个循环就可以
Java code
int i=0;  while(rs.next()){                    for(int j=0;j<column-1;j++){                        data[i][j]=rs.getDouble(j+2);                    }                  i++;                } 

热点排行