帮我看看这断java代码有什么问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 19:01:21
public void jButton1_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:mydb");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from stu");
int i=0,j=0;
String cell[][]=null;
while(rs.next()){
cell[i][j]=rs.getString("uname");
cell[i][j+1]=rs.getString("uold");
cell[i][j+2]=rs.getString("usex");
i++;
j=0;
}
String tname[]={"姓名","年龄","性别"};
jTable1 = JTable(cell,tname);

rs.close();
stmt.close();
con.close();
} catch (ClassNotFoundException ex) {

String cell[][]=null;
while(rs.next()){
cell[i][j]=rs.getString("uname");
cell[i][j+1]=rs.getString("uold");
cell[i][j+2]=rs.getString("usex");

你的这里String数组为空,后面就直接将结果放进数组,所以抛出空指针异常,最好还是将rs中取出的数据放到集合中,再通过DefaultTableModel创建JTable

要检查
1.你建数据源成功了吗?
2.你数据库打开了吗?
3.我建议你用集合装rs数据,不要用数组

String cell[][]=null;
你这里定义他为空,你后面怎么能打到cell[0][0]建议改为用集合来存储,或着这里把这个二维字符串数组实例化一下。当然用集合也要实例化

java.lang.NullPointerException 这个说明是空指向异常。都比较常见,另外还有什么java.lang.ArrayIndexOutOfBoundsException下标越界,
java.lang.ClassCastException 类型转换错误,等等。

这个估计是AWT内部实现或者缺陷的错误吧,在执行事件的时候发生错误,也许是你用的开发环境的设计器缺陷