buennas,
mew to construindo um codigo que pega info de um banco de dados e joga em um
JTable, mas tah dando uns erros aqui que eu naum consigo descubrir o que é, vocês poderiam me ajudar no erro!!
ai vai o codigo:
barra1.setVisible(true);
barra1.setSize(700,500);
controleEntrada.setVisible(true);
controleEntrada.setSize(708, 532);
String url;
String driver;
Connection con = null;
ResultSet rs = null;
Statement stmt;
url = "jdbc:odbc:controlePortas";
driver = "sun.jdbc.odbc.JdbcOdbcDriver";
try {
Class.forName(driver);
con = DriverManager.getConnection(url);
JOptionPane.showMessageDialog(null, "Conectado ao banco");
}
catch (ClassNotFoundException e) {
System.err.println(
"");
cnfex.printStackTrace();
System.exit(1);
}
catch (SQLException sqlex) {
System.err.println("");
sqlex.printStackTrace();
}
getTable();
this.setSize(450, 370);
setLocation(5,20);
}
private void getTable()
{
Statement statement;
ResultSet resultset;
try {
statement = connection.createStatement();
resultset = statement.executeQuery("Select * from controleEntrada");
displayResultSet(resultset);
statement.close();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private void displayResultSet(ResultSet rs )
throws SQLException
{
boolean moreRecords = rs.next();
if (! moreRecords) {
JOptionPane.showMessageDialog(this, "Nao existem registros na tabela!!");
//setTitle();
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
columnHeads.addElement(rsmd.getColumnName(i));
do {
rows.addElement(getNextRow(rs, rsmd));
} while (rs.next());
table = new JTable(rows, columnHeads);
barra1 = new JScrollPane(table);
barra1.setPreferredSize(new java.awt.Dimension(447, 353));
controleEntrada.add(barra1);
validate();
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd)
throws SQLException
{
Vector currentRow = new Vector();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
switch(rsmd.getColumnType(i)) {
case Types.VARCHAR: currentRow.addElement(rs.getString(i));
break;
case Types.INTEGER:currentRow.addElement(new Long(rs.getLong(i)));
break;
/*case Types.LONGCHAR:currentRow.addElement(rs.getString(i));
break;*/
default: System.out.println("Tipo dos Dados: " + rsmd.getColumnTypeName(i));
}
return currentRow;
}
public void shutDown()
{
try {
connection.close();
}
catch (SQLException sqlex) {
System.err.println("Não foi possiel desconectar.");
sqlex.printStackTrace();
}
ai vai o erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at SrCom.AeSTeste.getTable(AeSTeste.java:1456)
at SrCom.AeSTeste.statusEntradaActionPerformed(AeSTeste.java:1444)
at SrCom.AeSTeste.access$4100(AeSTeste.java:31)
at SrCom.AeSTeste$42.actionPerformed(AeSTeste.java:1267)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
