入门者求助:java与数据库连接出错

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

connectdatabase.java内容如下:  
  public   class   connectdatabase   {  
  private   static   string   driver   =   "com.microsoft.jdbc.sqlserver.sqlserverdriver";  
  private   static   string   url   =   "jdbc:microsoft:sqlserver://ip:1433;databasename=db";  
  private   static   string   user   =   "sa";  
  private   static   string   password   =   "123";  
   
  private   connectdatabase()   {  
  }  
   
  public   static   connection   getconnection(boolean   autocommit)   {  
   
  connection   conn;  
  try   {  
  class.forname(driver)   ;  
  conn   =   drivermanager.getconnection(url,   user,   password);  
  return   conn;  
  }   catch   (exception   e)   {  
  system.out.println(e.getmessage());  
  return   null;  
  }    
   
  }  
  main中内容如下:  
  public   static   void   main(string[]   args)   {  
  connection   con   =   null;  
  statement   stmt   =   null;  
  resultset   rs   =   null;  
  string   sql   =   "select   *   from   table1";  
  try   {  
  con   =   connectdatabase.getconnection(true);  
  stmt   =   con.createstatement();  
  rs   =   stmt.executequery(sql);  
  while   (rs.next())  
  system.out.println(rs.getstring(1));  
  rs.close()   ;  
  stmt.close();  
  con.close();  
  }   catch   (sqlexception   e)   {  
  system.out.println(e.getmessage());  
  }  
  }  
  错误提示:  
  com.microsoft.jdbc.sqlserver.sqlserverdriverjava.lang.nullpointerexception  
   
  at   org.lange.test.database.test.main(test.java:21)  
  exception   in   thread   "main"    
  21指向的是“stmt   =   con.createstatement();”  
  我想了n久。不知道问题出在哪里啊。求大哥帮忙啊~~~

· 网友精彩回答:

发表者:johnwoo

connectdatabase.java中出错了吧。  
  可能和你的运行环境有关系。像数据库连接啊,驱动,用户密码等等...........  
  看不出有什么代码问题。  
  编译通过了,只能说明你没有出现语法错误。不能说明其他任何问题。  
   
  希望对你有帮助。  
  ^_^

发表者:achinese

catch   (exception   e)   {  
  system.out.println(e.getmessage());  
  return   null;  
  }    
  不要这么写,   不要   return   null;        
  你这样写,无论什么错误,   都变成nullpointerexception  
  直接   throw     ex;  
  或包装一下   ex   再抛出

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved