Java - 如何通过仅打印具有相同名称的行来从数据库中打印数据

时间:2015-11-20 01:06:59

标签: java mysql sql printing

我有这个代码,我知道如何打印一行,但是现在我要打印超过1行,我想要打印所有类别中的行"其他"。如果有人可以提供帮助,我尝试自己做了最近几个小时,但无法设法制作代码......谢谢:)

public Object[][] getCatOther() {
    ResultSet rs=null;
    Object[][] catOther=null;
    connectToDatabase();
    String category = "Other";
    String queryString = "SELECT * FROM product where category='"+category+"'";

        try
        {     
            rs=st.executeQuery(queryString);
            rs.last();
            int recordCount=rs.getRow();
            rs.beforeFirst();
            catOther=new Object[recordCount][6];
            //System.out.println("test1");
            while(rs.next())
            {
                catOther[0][0]=rs.getInt("productId");
                catOther[0][1]=rs.getString("productName");
                catOther[0][2]=rs.getFloat("cost");
                catOther[0][3]=rs.getString("trademark");
                catOther[0][4]=rs.getString("description");
                catOther[0][5]=rs.getString("category");                 
            }
            for(int i = 0;i<6;i++)
            {
                System.out.println(catOther[0][i]);

            }

            disconnectFromDatabase();
        }
        catch(SQLException sqle)
        {
            JOptionPane.showMessageDialog(null,sqle.getMessage(),
            "SQL Error",JOptionPane.WARNING_MESSAGE);    
        } 
        //disconnectFromDatabase();
    return catOther;
}

1 个答案:

答案 0 :(得分:3)

问题是你不断覆盖相同的数据。您需要在调用rs.next()时保留索引引用;

prototype

比循环数组并打印值更重要。