Здравствуйте! Я новичок в джава. У меня никак не получается вывести данные из бд в таблицу вот запрос:
Код | public ArrayList<table> getTestData(Connection c, int ID){ ArrayList<table> data = new ArrayList<table>(); try { Statement st = c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = st.executeQuery("SELECT tv, programm, ganr, title, data"+ "FROM test WHERE ID="+ID); while(rs.next()) { table t = new table(); t.setID(rs.getInt("ID")); t.setTV(rs.getString("tv")); t.setProgramm(rs.getString("programm")); t.setGanr(rs.getString("ganr")); t.setTitle(rs.getString("title")); t.setDate(rs.getDate("date"));
data.add(t); } st.close(); c.close(); } catch (SQLException ex) { Logger.getLogger(ButtonsMethods.class.getName()).log(Level.SEVERE, null, ex); } return data; }
|
здесь:
Код | public JTable getTable(/*final ArrayList<table> newData*/){ if (t == null) { t = new JTable(new TableModel() {
public int getRowCount() { if (newData==null) return 1; return newData.size();
}
public int getColumnCount() { return 5; }
public String getColumnName(int columnIndex) { return ""; }
public Class<?> getColumnClass(int columnIndex) { return String.class; }
public boolean isCellEditable(int rowIndex, int columnIndex) { return false; }
public Object getValueAt(int rowIndex, int columnIndex) { if (newData.size()!= 0){ if (columnIndex==0) return newData.get(rowIndex).getTV(); if (columnIndex==1) return newData.get(rowIndex).getProgramm(); if (columnIndex==2) return newData.get(rowIndex).getGanr(); if (columnIndex==3) return newData.get(rowIndex).getTitle(); if (columnIndex==4) return "";}//newData.get(rowIndex).getDate();} return ""; /* switch(columnIndex) { case 0: return newData.get(rowIndex).tv; break; case 1: return newData.get(rowIndex); break; case 4: return newData.get(rowIndex); }*/ }
public void setValueAt(Object aValue, int rowIndex, int columnIndex) { //throw new UnsupportedOperationException("Not supported yet."); }
public void addTableModelListener(TableModelListener l) { //throw new UnsupportedOperationException("Not supported yet."); }
public void removeTableModelListener(TableModelListener l) { //throw new UnsupportedOperationException("Not supported yet."); } }); for (int i = 0; i<newData.size(); i++) { // t.setValueAt(newData.get(i), i, i); } } return t; }
javax.swing.JButton getAddButton(){ if (addB == null) { addB = new JButton("show"); addB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { ButtonsMethods bt = new ButtonsMethods();
MyConnection c = new MyConnection(); newData = bt.getTestData(c.initConnection(), 0); // t } catch (SQLException ex) { Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex); } } }); } return addB; }
javax.swing.JPanel getPanel(){ if (p==null) { p = new JPanel(); p.add(getTable(),BorderLayout.NORTH); p.add(getAddButton(), BorderLayout.SOUTH); } return p; } }
|
я объявляю панель, на ней креплю таблицу и кнопку. На событие (нажатие кнопки) я создаю экземпляр класса, где описан мой запрос, и выполняю его. А вот вывести его не получается |