首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java操作Sql出现java.lang.NullPointerException异常

2012-03-03 
java操作Sql出现java.lang.NullPointerException错误我编写了一个java操作sql数据库的类,如下:packageaaa

java操作Sql出现java.lang.NullPointerException错误
我编写了一个java操作sql数据库的类,如下:
package   aaa;
import   java.sql.*;

public   class   javaConnectToSql{
Connection   conn=null;  
        /*
          *
          *String   sUrl;//数据库连接字符串
          *String   sUsername;//数据库登录用户名
          *String   sPassword;//数据库登录密码
          *String   sDriver;   //数据库驱动名称
          */
       
        //method:连接数据库
        public   Connection   Conn(String   sDriver,String   sUrl,String   sUsername,String   sPassword){
        try{
        Class.forName(sDriver);
        Connection   conn=DriverManager.getConnection(sUrl,sUsername,sPassword);

        }catch(ClassNotFoundException   e)//接收连接驱动异常
        {
        System.out.println( "Driver   not   found! ");
        System.out.println(e.toString());
        }catch(SQLException   e)//接收sql连接异常
        {
        System.out.println( "connection   data   server   error! ");
        System.out.println(e.toString());
        }
                return   conn;  
        }
       
        //method:查询数据库,返回结果类型
        public   ResultSet   QuerySql(String   sql){
        ResultSet   rs=null;
        Statement   stmt=null;
        try{
        stmt=conn.createStatement();//这个地方出错,第37行
                rs=stmt.executeQuery(sql);

        }catch(SQLException   e){
        System.out.println( "222 "+e.toString());
        }
                return   rs;
        }
       
        //method:修改数据库,包括添加、删除、修改,返回影响的行数
        public   int   UpdateSql(String   sql){
        int   rs=0;
        try{
        Statement   stmt=conn.createStatement();
                rs=stmt.executeUpdate(sql);
        }catch(SQLException   e){
        System.out.println( "333 "+e.toString());
        }
       
        return   rs;
        }
       
        //Close关闭数据库连接  
        public   void   Close(){  
                try{  
                            conn.close();  


                      }catch(Exception   e){  
                            System.out.println(e.toString());
                      }  
        }  
}
然后又编写了一个引用该类的一个类,如下:
package   aaa;
import   java.sql.*;
public   class   useSqlClass{
public   static   void   main(String[]   args){
useSqlClass   usc=new   useSqlClass();
javaConnectToSql   jcts=new   javaConnectToSql();
jcts.Conn( "com.microsoft.jdbc.sqlserver.SQLServerDriver ", "jdbc:microsoft:sqlserver://localhost:1433;databaseName=Northwind ", "sa ", " ");
ResultSet   rs1=null;
rs1=jcts.QuerySql( "SELECT   *   FROM   Customers ");//这个地方出错,第9行
                try{
                while(rs1.next()){
System.out.println(rs1.getString( "CustomerID ")+ "         "+rs1.getString( "CompanyName "));
}
                }catch(SQLException   e){
                System.out.println( "111 "+e.toString());
                }

}
}
但是运行的时候出现如下错误:
Exception   in   thread   "main "   java.lang.NullPointerException
                  at   aaa.javaConnectToSql.QuerySql(javaConnectToSql.java:37)
                  at   aaa.useSqlClass.main(useSqlClass.java:9)
实在是不知道怎么解决了,请教各位大虾!!!


[解决办法]
改一下这个方法:

//method:连接数据库
public Connection Conn(String sDriver,String sUrl,String sUsername,String sPassword){
try{
Class.forName(sDriver);
this.conn=DriverManager.getConnection(sUrl,sUsername,sPassword);

}catch(ClassNotFoundException e)//接收连接驱动异常
{
System.out.println( "Driver not found! ");
System.out.println(e.toString());
}catch(SQLException e)//接收sql连接异常
{
System.out.println( "connection data server error! ");
System.out.println(e.toString());
}
return this.conn;
}

热点排行