package com.tool;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class JDBConnection { private final String DRIVER = "net.sourceforge.jtds.jdbc.driver"; // 连接sql数据库的方法 private final String URL = "jdbc:jtds:sqlserver://localhost:1433/db_sell"; private final String USERNAME = "sa"; private final String PASSWORD = ""; private Connection conn = null; public JDBConnection() {
try {
Class.forName(DRIVER).newInstance(); // 加载数据库驱动
} catch (Exception ex) {
System.out.println("加载数据库驱动失败!");
}
} public boolean creatConnection() {// 用来创建数据库连接
boolean isCreated = true;// 默认创建成功
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);// 创建数据库连接
} catch (SQLException e) {
isCreated = false;// 创建失败
}
return isCreated;// 返回创建情况
} public boolean executeUpdate(String sql) {// 用来插入、修改和删除记录
boolean isUpdate = true;// 默认执行成功
if (conn == null)
creatConnection();
try {
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException e) {
isUpdate = false;// 执行失败
}
return isUpdate;// 返回执行情况
} public ResultSet executeQuery(String sql) {// 用来查询记录
ResultSet rs = null;
if (conn == null)
creatConnection();
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;// 返回查询结果集
} public void closeConnection() {// 用来关闭数据库连接
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}}
报错:
加载数据库驱动失败!
2009-5-20 12:33:21 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.tool.JDBConnection.executeQuery(JDBConnection.java:57)
at com.dao.DutyDao.dutySelect(DutyDao.java:21)
at org.apache.jsp.employee.emInsert_jsp._jspService(emInsert_jsp.java:189)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)求个解决方法,急,谢谢各位高手

解决方案 »

  1.   

    你这个
    private final String DRIVER = "net.sourceforge.jtds.jdbc.driver"; // 连接sql数据库的方法 private final String URL = "jdbc:jtds:sqlserver://localhost:1433/db_sell"; 有问题吧
      

  2.   

    String driver="com.microsoft.jdbc.sqlserver.SQLServerDriveString url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_sell";
      

  3.   

    这个问题应当是sql server版本问题吧,sql server 2000数据库必须打SP3以上的补丁,jdk 1.或4以上的程序才可以连接上数据库。另外也许可能是sql server 驱动包问题。