连接数据库错误:No suitable driver!数据库是mdb,以下是相关代码,大家帮忙看看,谢谢!
class Conn 
{
protected String DriverName;
protected String DBURL;
protected Connection cn;
protected Statement stmt;
protected ResultSet rs;
//Data data=new Data();
public Conn()
{
DriverName="sun.jdbc.odbc.JdbcOdbcDriver";
DBURL="jdbc:odbc:PhoneBook";
cn=null;
}

public void DBConnect()
{
try 
{
cn=DriverManager.getConnection(DBURL);//提示错误就在这一行

catch (SQLException e) 
{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}小弟初学java,很多不懂,还望大家不吝赐教!谢谢!

解决方案 »

  1.   

    No suitable driver
    这不就是说没有合适的驱动吗
      

  2.   

    你的DriverName根本没用过呀,改成这样试试
    public Conn()
    {
    DriverName="sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(DriverName);
    DBURL="jdbc:odbc:PhoneBook";
    cn=null;
    }
    还有,你要在程序前面加上
    import java.sql.*;应该就是这两个问题
      

  3.   

    系统数据源..
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    cn=DriverManager.getConnection(DBURL);//
      

  4.   

    回复人: nodreamer(我想抽烟) ( ) 信誉:94  2005-05-24 09:29:00  得分: 0  你的DriverName根本没用过呀,改成这样试试
    public Conn()
    {
    DriverName="sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(DriverName);
    DBURL="jdbc:odbc:PhoneBook";
    cn=null;
    }
    还有,你要在程序前面加上
    import java.sql.*;应该就是这两个问题
    =======================================================
    不能像你说的那样该,该之后提示“Class.forName(DriverName);”是一个未处理的异常类
    还有java.sql.*;我倒入了,只是这里没有写出来
      

  5.   

    回复人: nimifeng(学海无涯.......苦啊苦啊苦作舟....理解是美!!!) ( ) 信誉:100  2005-05-24 09:41:00  得分: 0  系统数据源..
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    cn=DriverManager.getConnection(DBURL);//
    =========================================================================
    数据源建了!
      

  6.   

    我觉得还是
    Class.forName(DriverName);的问题
    你贴出来的内容我觉得应该没什么错误了
    要不你把整个程序贴出来我给你看看
      

  7.   

    在构造方法中用
    try
    {
       Class.forName("jdbc:odbc:JdbcOdbcDriver");
    }
    catch(Exception e){}
      

  8.   

    没有用
    还是那样我再把调用它的代码发出来吧,顺便大家也帮我看看有没有其他的错误================================================================================
    ......
    {
    ......
    Conn conn=new Conn();
    ......
    }public void listInit()
    {

    try{
    conn.DBConnect();
    conn.stmt=conn.cn.createStatement();
    String strSQL="select * from PhoneBook";
    conn.rs=conn.stmt.executeQuery(strSQL);
    Class.forName(conn.DriverName);
    }
    catch(ClassNotFoundException e)
    {
    System.out.println("Error:Can not load JDBC!");
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    }
    try
    {
    data.Name=conn.rs.getString(1);
    data.Sex=conn.rs.getString(2);
    data.Number=conn.rs.getString(3);
    data.Address=conn.rs.getString(4);
    list.add(data.Name+"  "+data.Sex+"  "+data.Number+"  "+data.Address);
    rs.close();
    stmt.close();
    }
    catch(SQLException c)
    {
    System.out.println(c.getMessage());
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    }
    finally
    {
    if(conn.cn!=null)
    {
    try
    {
    conn.cn.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    }
    }
      

  9.   

    你应该先用Class.forName()加载数据库驱动才行啊
    然后才能用Connectio  conn=DriverManager.getConnection("jdbc:odbc:数据源")
    Statement stat=conn.createStatement();
    ResultSet rs=stat.executeQuery("select * from PhoneBook");
    如果还不行那就可能是你的环境变量没有设好
      

  10.   

    可是我照你说的在构造函数里加了这一段啊:
    try
    {
       Class.forName("jdbc:odbc:JdbcOdbcDriver");
    }
    catch(Exception e){}
      

  11.   

    public Conn()
    {
       DriverName="sun.jdbc.odbc.JdbcOdbcDriver";
       DBURL="jdbc:odbc:PhoneBook";
       try
       {
         Class.forName(DriverName);
         
       }catch(Exception e){}}public void DBConnect()
    {
    try 
    {
    cn=DriverManager.getConnection(DBURL);

    catch (SQLException e) 
    {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }
    }
    }
    不行把完整代码贴出来