package com.JavaSeries.Java.component;
import java.sql.*;
public class AccessDB_Bean {
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";//驱动程序
String sConnStr="jdbc:odbc:students";//数据库连接串
Connection connect=null;//连接接口
Statement stmt=null;//语句操作
ResultSet rs=null;//结果集
public AccessDB_Bean()throws SQLException,ClassNotFoundException 
{
Class.forName(sDBDriver);//转载驱动程序
connect=DriverManager.getConnection(sConnStr);//建立连接
Statement stmt=connect.createStatement();//建立语句对象
}
public ResultSet executeSelect(String sql)throws SQLException
{
rs=null;
rs=stmt.executeQuery(sql);
return rs;
}
public void executeDML(String sql)throws SQLException
{
stmt.execute(sql);
}
}
为什么connect=DriverManager.getConnection(sConnStr);//建立连接总会抛出SQLException异常

解决方案 »

  1.   

    LZ看下你的ODBC数据源是否有问题
      

  2.   

    改一下你的代码,把你的异常都打印出来
    import   java.sql.*; 
    public   class   AccessDB_Bean   { 
    String   sDBDriver= "sun.jdbc.odbc.JdbcOdbcDriver ";//驱动程序 
    String   sConnStr= "jdbc:odbc:students ";//数据库连接串 
    Connection   connect=null;//连接接口 
    Statement   stmt=null;//语句操作 
    ResultSet   rs=null;//结果集 
    public   AccessDB_Bean()   {try {
    Class.forName(sDBDriver);//转载驱动程序 
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    try {
    connect=DriverManager.getConnection(sConnStr);//建立连接 
    } catch (SQLException e) {
    e.printStackTrace();
    }
    try {
    Statement   stmt=connect.createStatement();//建立语句对象 
    } catch (SQLException e) {

    e.printStackTrace();
    }
    }public   ResultSet   executeSelect(String   sql)

    rs=null; 
    try {
    rs=stmt.executeQuery(sql);
    } catch (SQLException e) {
    e.printStackTrace();

    return   rs; 

    public   void   executeDML(String   sql)

    try {
    stmt.execute(sql);
    } catch (SQLException e) {
    e.printStackTrace();


    } 你可以分步测试,先实例化对象,如果抛除sql异常,看看你的数据源配置/用户名/密码/还有你的数据库的名字是否正确,再测试executeSelect函数,如果抛除异常,那可能是你sql有问题了,看看表是否存在,或者字段是不是写错了.测试executeDML函数和上个函数一样.