我想从数据库中检索数据,然后在java中的表中显示。下面是代码示例,有人可以告诉我什么是错的,因为当它运行时,我得到以下错误: java.lang.NullPointerException。从java中的数据库检索数据
package sample;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import net.proteanit.sql.DbUtils;
public class Table extends JFrame{
JTable table;
Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;
private void UpdateJTable(){
String sql = "select firstname, status from tblmember";
try{
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
private void conect(){
conn = myconnection.ConnectDb();
}
public Table(){
setLayout(new FlowLayout());
String [] columnName={"Name", "Status"};
Object [][] data={
{null, null},
{null, null}
};
table = new JTable(data, columnName);
table.setPreferredScrollableViewportSize(new Dimension(500,50));
table.setFillsViewportHeight(true);
JScrollPane sp = new JScrollPane(table);
add(sp);
}
public static void main(String[] args){
Table gui = new Table();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(700, 500);
gui.setVisible(true);
gui.setTitle("AAAAAAAA");
gui.UpdateJTable();
gui.conect();
}
}
我没有看到任何你称为“connect()”的地方...所以我想这可能是为什么 – scartag 2012-02-04 20:00:38
在conn.prepareStatement(sql)之前调用connect(); – scartag 2012-02-04 20:01:15