能否不用ODBC直接用JDBC连接ACCESS数据库吗?(100分)

  • 主题发起人 主题发起人 CashChin
  • 开始时间 开始时间
C

CashChin

Unregistered / Unconfirmed
GUEST, unregistred user!
能否不用ODBC直接用JDBC连接ACCESS数据库吗?
 
需要提供关于ACCESS的JDBC驱动
 
如果是指不配置ODBC数据源而直接连接Access数据库的话,
下面代码是我经过调试成功的:

<%@ page contentType="text/html;
charset=GBK" %>
<%@ page errorPage="accesstest_error.jsp" %>
<html>
<head>
<title>
jdbctest
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Jdbc 连接到 Access 数据库的例子</h1>
<%
java.sql.Connection sqlCon;
//数据库连接对象
java.sql.Statement sqlStmt;
//SQL语句对象
java.sql.ResultSet sqlRst;
//结果集对象
java.lang.String strCon;
//数据库连接字符串
java.lang.String strSQL;
//SQL语句
String mdbpath=request.getRealPath("/");
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+mdbpath+"dbtest.mdb";
out.println(strCon);
//这句给出的是绝对路径strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=F://Jb//BeanServletTest//defaultroot//dbtest.mdb";
//"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+ mdbpath+"//dbtest.mdb";
//数据库是一个Access文件,里面有一张表user,表里有userid和userpass两个字段
sqlCon = java.sql.DriverManager.getConnection(strCon,"","");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
//执行插入几条记录的SQL语句
/*strSQL = "insert into user (userid,userpass) values(/'user1/',/'pass1/')";
out.println(strSQL);
sqlStmt.executeUpdate(strSQL);*/
//获取记录总数
strSQL = "select * from user where userid=/'"+request.getParameter("userid")+"/' and userpass=/'"+request.getParameter("userpass")+"/'" ;
//判断条件是 where userid="+request.getParameter("userid")+" and userpass="+request.getParameter("userpass") ;
//一些数据库里的查询的判断条件
out.println(strSQL);
strSQL = "select * from user";
out.println(strSQL);
sqlRst = sqlStmt.executeQuery(strSQL);
//打印测试
if( sqlRst != null ){
while( sqlRst.next() ){
out.println("你的用户名字是:/t" + sqlRst.getString("userid"));
out.println("你的密码是/t" + sqlRst.getString("userpass"));
}
sqlRst.close();
sqlCon.close();
}
%>
</body>
</html>
 
接受答案了.
 
后退
顶部