各个文件路径说明如下: 
1、JDBConnection类路径:%tomcat5.5%/src/com/JDBConnection.java 
2、数据库路径::%tomcat5.5%/Database/database.mdb 
3、index.jsp路径::%tomcat5.5%/index.jsp
JDBConnection类代码如下:package com;
import java.sql.*;public class JDBConnection {
    private final String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; //连接sql数据库的方法
    private final String spath="/database/database.mdb";
    private final String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+spath;
    private final String userName = "";
    private final String password = "";
    private Connection con = null;    public JDBConnection() {
        try {
            Class.forName(dbDriver).newInstance(); //加载数据库驱动
        } catch (Exception ex) {
            System.out.println("数据库加载失败");
        }
    }//创建数据库连接
    public boolean creatConnection() {
        try {
            con = DriverManager.getConnection(url, userName, password);
            con.setAutoCommit(true);        } catch (SQLException e) {
            System.out.println(e.getMessage());
            System.out.println("creatConnectionError!");
        }
        return true;
    }
index.jsp调用如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>修改数据时下拉列表的默认值为数据库中原数据信息</title>
<jsp:useBean id="connection" scope="request" class="com.JDBConnection"/>
<link href="Css/Css.css" type="text/css" rel="stylesheet">
</head><body>
<table width="500" height="259" border="0" align="center" cellpadding="0" cellspacing="0" background="images/0.jpg">
  <tr align="center">
    <td height="82" colspan="2"><strong><font color="#FFFFFF" size="+2">修改用户信息模块</font></strong></td>
  </tr>
  <tr>
    <td width="87">&nbsp;</td>
    <td width="413" valign="top"><table width="382" border="0" align="center">
      <tr align="center">
        <td width="66">账号</td>
        <td width="66">性别</td>
        <td width="66">年龄</td>
        <td width="66">职业</td>
        <td width="84">操作</td>
      </tr>
<%
String sql="select * from tb_userInfo";
ResultSet rs=connection.executeQuery(sql);
try{
while(rs.next()){
  String id=rs.getString(1);
%>
      <tr align="center">
        <td><%=rs.getString(2)%></td>
        <td><%=rs.getString(3)%></td>
        <td><%=rs.getString(4)%></td>
        <td><%=rs.getString(5)%></td>
        <td><a href="dealwith.jsp?id=<%=id%>">修改</a></td>
      </tr>
      <%}}catch (Exception e){}%>
    </table></td>
  </tr>
</table>
</body>
</html>
结果提示连接错误,是不是连接路径的问题?谢谢!!

解决方案 »

  1.   

    应该是access路径的问题。换位置试试比如直接放在某个盘符下。
      

  2.   

    如果不直接用盘符路径的话,是不是要用到application.getRealPath转换?下面这样行吗?
     private final String spath="/database/database.mdb";
     private final String dbpath = application.getRealPath(spath);  //转化成物理路径
     private final String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;
      

  3.   

    private final String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+spath;
      
    你把spath定义成String类型的了是不是应该这样写
    private final String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ='"+spath+"' ";
      

  4.   

    String sql="select * from tb_userInfo";
    ResultSet rs=connection.executeQuery(sql);
    这里错了,应改成:
    Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 
    String sql="select * from tb_userInfo";
    rs = stmt.executeQuery(sqls);
      

  5.   

    还有用ODBC的 ??有没在电脑上配过ODBC呢 ??