大家好!我是刚刚学java的,用的是sql2005和JBuilder2006.下面是程序代码。原来在我的笔记本上运行一切正常。因笔记本速度太慢最近配了台新机子,安装了sql2005和JBuilder2006,将数据库导入新机后,运行程序就报错。报错信息如下:
 
java.lang.NullPointerException
at com.dao.SearchDao.getBean(SearchDao.java:24)
at com.frame.MianBan.jButton1_actionPerformed(MianBan.java:131)
at com.frame.MianBan_jButton1_actionAdapter.actionPerformed(MianBan.java:267)请问是什么原因,JBuilder中JDBC的配置和笔记本中的一样,是不是sql2005数据库的问题?????数据库我也导过来了。代码我没有修改过,这是什么原因,马上要考试了,请各位帮帮我,谢谢!!!!!!!!!!!

解决方案 »

  1.   

    nullpointer是比较好处理的一个异常,好好查查吧
      

  2.   

    你把SearchDao这个类的代码贴上来看看,可能是你这各类错了。
      

  3.   

    報的是空指針異常,
    如果你对null 进行操作就会产生空指针异常 
    Object obj = new Object(); 
    你要知道 obj是一个Object指针变量,指向Object类的一个实例 
    我们说obj是一个对象 实质是它指向一个对象的首地址 
    如果这个指针变量obj 没有指向任何空间 你调用它的方法和属性就会出错 
    例如 Object obj = new Object(); 
    obj.equals("123");这个是没错的 
    但换下面语句 Object obj = null; 
    obj.equals("123");就会出现空指针异常 
    估計是你指向數據庫的時候出現了問題。。
      

  4.   

    package com.dao;import com.bean.SystemBean;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import com.connt.Connet;
    import java.sql.Connection;public class SearchDao {    public SystemBean getBean(int questionId){       Connection conn = null;
           PreparedStatement ps = null;
           ResultSet rs = null;
           SystemBean bean = null;       try{           conn  = Connet.getConn();
               String sql = "select * from question where questionId=?";
               ps = conn.prepareStatement(sql);
               ps.setInt(1,questionId);
               rs = ps.executeQuery();           if(rs.next()){
                   bean = new SystemBean();
                   bean.setContent(rs.getString("Content"));
                   bean.setOptionA(rs.getString("OptionA"));
                   bean.setOptionB(rs.getString("OptionB"));
                   bean.setOptionC(rs.getString("OptionC"));
                   bean.setOptionD(rs.getString("OptionD"));
                   bean.setAnswers(rs.getString("Answers"));           }       }catch(Exception e){
               e.printStackTrace();
           }finally{
               Connet.SFa(rs,ps);
               Connet.SFb(conn);
        }
           return bean;
        }
    }
      

  5.   

    数据应该没有错误,是我从笔记本上导出来的。IIS是什么?会不会是IIS的问题??????????
      

  6.   

    Connet.getConn(); 
    能把这方法的内容贴上来么.
      

  7.   

     ps.setInt(1,questionId); 
      
    改成ps.setInt(0,questionId);试试!!我记得用不同的JAVA包时,,这各setXXX(1,XXX)的方法是有点不同的.
     有的从0 开始,有的从容1 开始!!
      

  8.   

    看看这三个地方的代码有没有空指针异常
    at com.dao.SearchDao.getBean(SearchDao.java:24) 
    at com.frame.MianBan.jButton1_actionPerformed(MianBan.java:131) 
    at com.frame.MianBan_jButton1_actionAdapter.actionPerformed(MianBan.java:267)