RsModel rm=new RsModel();
String uid=(String) rm.getValueAt(0, 0);
问什么每次又要报错
java.lang.NullPointerException啊。。
我一行一列那里有值的啊。。
求高手解答!!

解决方案 »

  1.   

    RsModel rm=new RsModel(); 你的这个东西是空的,要初始化的!
      

  2.   

    我初始化了的啊。
    我把代码贴出来import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.util.Vector;import javax.swing.table.AbstractTableModel;import com.mhl.db.SqlHelper;public class RsModel extends AbstractTableModel{
        Vector col;
        Vector rows;
        
        public void query(String sql,String[] data){
         //初始化列
         col=new Vector();
        
         //初始化行
         rows=new Vector();
         SqlHelper sh=new SqlHelper();
         ResultSet rs=sh.Query(sql, data);
         try {
           
      ResultSetMetaData rsmd=rs.getMetaData();
      for (int i = 0; i < rsmd.getColumnCount(); i++) {
        col.add(rsmd.getColumnName(i+1));
    }
      while(rs.next()){
      Vector temp=new Vector();
      for (int i = 0; i < rsmd.getColumnCount(); i++) {
      temp.add(rs.getString(i+1));
    }
      rows.add(temp);
      }


    } catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }finally{
    sh.close();
    }
        }
        public void update(String sql,String[] data){
         SqlHelper sh=null;
         try {
      sh=new SqlHelper();
      sh.update(sql, data);
    } catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }finally{
    sh.close();
    }
        }
       
    @Override
    public int getColumnCount() {
    // TODO Auto-generated method stub
    return this.col.size();
    } @Override
    public int getRowCount() {
    // TODO Auto-generated method stub
    return this.rows.size();
    } @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
    // TODO Auto-generated method stub
    return ((Vector)this.rows.get(rowIndex)).get(columnIndex);
    } @Override
    public String getColumnName(int column) {
    // TODO Auto-generated method stub
    return this.col.get(column).toString();
    }}
    这是RsModel 
      

  3.   

    想取出表格中Vector<Vector>的数据,你必须先初始化表格,但你的程序在query(String sql, String[]data)函数中动态初始化此表格,所以
    RsModel rm=new RsModel();
    String uid=(String) rm.getValueAt(0, 0);应该为String sql= "";
    String[] data = null;
    //初始化sql和data......................
    RsModel rm=new RsModel();
    query(sql, data);
    String uid=(String) rm.getValueAt(0, 0);
    此时才不会出现空指针错误