刚刚写的一个Java Web 中连接Access数据库的代码。这些天讲到数据库操作,但是我的本子是XP home版,安装SQL Server比较麻烦,干脆弄个ACCESS来演示好了。有时小型桌面数据库还是蛮实用的嘛,哈~
<%@ page contentType="text/html; charset=GB18030" %>
<%@page import="java.sql.*" %>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<form method="POST" action="/Web/index.jsp">
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print("数据库驱动程序装入错误");
}
try{
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+request.getRealPath("/")+"test.mdb";
//特别注意上面的Driver和(*.mdb)之间是有空格的
/*这个test.mdb文件是存放在Web Module目录下的,当然可以自行改变路径*/
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM log");//log为表名,和SQL一样
while(rs.next()){
out.print(rs.getInt("ID")+" ");
out.print(rs.getString("username")+" ");
out.print(rs.getString("password")+" ");//log表中三个字段,主键是ID,自增的。username和password是文本类型。
out.println("<br>");
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex){
out.print(ex);
}
%>
</form>
</body>
</html>
================================================================================
下面是网上搜的一些JSP或JavaBean连接ACCESS的代码,摘自【http://blog.csdn.net/rimoer/archive/2007/04/06/1554842.aspx】
我写的一个用jsp连接Access数据库的代码。
要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现jsp连接access数据库。
第一种JSP形式。
程序代码
<
%@page
contentType
=
"text/html;charset=gb2312"
language
=
"java"
import
=
"java.sql.*"
%
>
<metahttp
-equiv
=
"Content-Type"content
=
"text/html;charset=gb2312"
>
<
%
/*********************************
*********JDBC_ODBC连接Access数据库,不需要设置数据源
*********Date:2005.8
*********Email:[email protected]
*********Author:DreamTime[梦想年华]
*********有任何欢迎提出指正
**********************************/
//*******数据库连接代码 开始*****
//异常处理语句
try
{
//以下几项请自行修改
Stringspath
=
"data/test.mdb"
;
//Access数据库路径
Stringdbpath
=application
.getRealPath
(spath
)
;
//转化成物理路径
Stringdbname
=
""
;
//Acvess数据库用户名,没有则为空
Stringuser
=
""
;
//Access数据库密码,没有则为空
//数据库连接字符串
String
url
=
"jdbc:odbc:Driver={MicrosoftAccessDriver(*.mdb)};DBQ="
+dbpath
;
//加载驱动程序
Class
.forName
(
"sun.jdbc.odbc.JdbcOdbcDriver"
)
;
//建立连接
Connectionconn
=DriverManager
.getConnection
(
url
)
;
//创建语句对象
Statementstmt
=conn
.createStatement
(ResultSet
.TYPE_SCROLL_SENSITIVE
,ResultSet
.CONCUR_UPDATABLE
)
;
//****数据库连接代码 结束******
//*********测试数据代码开始******
//请在数据库中建立username表,表中建立两个字段uid和pwd,类型为文本型
Stringsql
=
"select*fromusername"
;
ResultSetrs
=stmt
.executeQuery
(sql
)
;
while
(rs
.next
(
)
)
{
out
.
print
(
"用户名:"
+rs
.getString
(
"uid"
)
)
;
out
.
print
(
"密码:"
+rs
.getString
(
"pwd"
)
+
"<br>"
)
;
}
out
.
print
(
"<br>恭喜你!数据库连接成功!"
)
;
rs
.close
(
)
;
//关闭记录集对象
stmt
.close
(
)
;
//关闭语句对象
conn
.close
(
)
;
//关闭连接对象
}catch
(Exceptione
)
{
out
.
print
(
"数据库连接错误!,错误信息如下:<br>"
)
;
out
.
print
(e
.getMessage
(
)
)
;
}
//*******测试数据代码结束*******
%
>
第二种,JavaBean的形式。
程序代码
/*
***************************************
*作用:java连接Access数据库代码
*作者:梦想年华
*Email:[email protected]
*Author:梦想年华
*CopyRight(c)2005-2006byDreamTime
***************************************
*/
[/color]
packageconn
;
//导入包
importjava
.sql
.
*
;
//导入数据库操作的类
publicclassDBConnAccess
//构造方法,初始化
{
privateConnectionconn
;
//连接对象
privateStatementstmt
;
//语句对象
privateResultSetrs
;
//结果集对象
private
Stringaccessdriver
;
//保存Access驱动程序字符串
private
StringaccessURL
;
//保存Access连接字符串
publicDBConnAccess
(
)
{
//Access驱动程序
accessdriver
=
"sun.jdbc.odbc.JdbcOdbcDriver"
;
//连接字符串
accessURL
=
"jdbc:odbc:Driver={MicrosoftAccessDriver(*.mdb)};DBQ="
;
conn
=
null
;
}
//该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接
publicConnectiongetConnToAccess
(
Stringdbpath
)
{
try
{
accessURL
=accessURL
+dbpath
;
Class
.forName
(accessdriver
)
;
conn
=DriverManager
.getConnection
(accessURL
)
;
}catch
(Exceptione
)
{
System
.out
.println
(
"操作数据库出错,请仔细检查"
)
;
System
.err
.println
(e
.getMessage
(
)
)
;
}
returnconn
;
}
//关闭数据库连接
public
voidclose
(
)
{
try
{
//rs.close();
//stmt.close();
conn
.close
(
)
;
}catch
(SQLExceptionsqlexception
)
{
sqlexception
.printStackTrace
(
)
;
}
}
}
调用方法如下:
程序代码
<metahttp
-equiv
=
"Content-Type"content
=
"text/html;charset=gb2312"
>
<
%@page
contentType
=
"text/html;charset=gb2312"
language
=
"java"
import
=
"java.sql.*"
%
>
<jsp
:useBeanid
=
"DBConn"scope
=
"page"class
=
"conn.DBConnAccess"
/
>
<
%
//连接Access数据库
Stringdbpath
=
"data/test.mdb"
;
//数据库的路径,请自行修改
Connectionconn
=DBConn
.getConnToAccess
(application
.getRealPath
(dbpath
)
)
;
Statementstmt
=conn
.createStatement
(ResultSet
.TYPE_SCROLL_INSENSITIVE
,ResultSet
.CONCUR_READ_ONLY
)
;
Stringsql
=
"select*fromusernameorderbyid"
;
//Stringsql1="insertintousername(uid,pwd)values('wsp','wsp')";
//stmt.executeUpdate(sql1);
ResultSetrs
=stmt
.executeQuery
(sql
)
;
while
(rs
.next
(
)
)
{
out
.
print
(
"用户名:"
)
;
out
.
print
(rs
.getString
(
"uid"
)
+
"密码:"
)
;
out
.println
(rs
.getString
(
"pwd"
)
+
"<br>"
)
;
}
DBConn
.close
(
)
;
%
>