一个用jsp连接Access数据库的代码。
要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现jsp连接access数据库。
第一种JSP形式。
程序代码
第二种,JavaBean的形式。
程序代码
调用方法如下:
程序代码
要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现jsp连接access数据库。
第一种JSP形式。

<
%@ page
contentType
=
"text/html; charset=gb2312"
language
=
"java"
import = "java.sql.*" % >
<meta http -equiv = "Content-Type" content = "text/html; charset=gb2312" >
< %
/*********************************
********* JDBC_ODBC连接Access数据库,不需要设置数据源
********* Date: 2005.8
********* Email:fanwsp@126.com
********* Author: DreamTime [梦想年华]
********* 有任何欢迎提出指正
**********************************/
// ******* 数据库连接代码 开始 *****
//异常处理语句
try
{
//以下几项请自行修改
String spath = "data/test.mdb" ; //Access 数据库路径
String dbpath = application .getRealPath (spath ) ; //转化成物理路径
String dbname = "" ; //Acvess 数据库用户名,没有则为空
String user = "" ; //Access 数据库密码,没有则为空
//数据库连接字符串
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +dbpath ;
//加载驱动程序
Class .forName ( "sun.jdbc.odbc.JdbcOdbcDriver" ) ;
//建立连接
Connection conn = DriverManager .getConnection ( url ) ;
//创建语句对象
Statement stmt =conn .createStatement (ResultSet .TYPE_SCROLL_SENSITIVE ,ResultSet .CONCUR_UPDATABLE ) ;
// **** 数据库连接代码 结束 ******
//********* 测试数据代码开始 ******
//请在数据库中建立username表,表中建立两个字段uid和pwd,类型为文本型
String sql = "select * from username" ;
ResultSet rs = 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 (Exception e ) {
out . print ( "数据库连接错误!,错误信息如下:<br>" ) ;
out . print (e .getMessage ( ) ) ;
}
//******* 测试数据代码结束 *******
% >
import = "java.sql.*" % >
<meta http -equiv = "Content-Type" content = "text/html; charset=gb2312" >
< %
/*********************************
********* JDBC_ODBC连接Access数据库,不需要设置数据源
********* Date: 2005.8
********* Email:fanwsp@126.com
********* Author: DreamTime [梦想年华]
********* 有任何欢迎提出指正
**********************************/
// ******* 数据库连接代码 开始 *****
//异常处理语句
try
{
//以下几项请自行修改
String spath = "data/test.mdb" ; //Access 数据库路径
String dbpath = application .getRealPath (spath ) ; //转化成物理路径
String dbname = "" ; //Acvess 数据库用户名,没有则为空
String user = "" ; //Access 数据库密码,没有则为空
//数据库连接字符串
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +dbpath ;
//加载驱动程序
Class .forName ( "sun.jdbc.odbc.JdbcOdbcDriver" ) ;
//建立连接
Connection conn = DriverManager .getConnection ( url ) ;
//创建语句对象
Statement stmt =conn .createStatement (ResultSet .TYPE_SCROLL_SENSITIVE ,ResultSet .CONCUR_UPDATABLE ) ;
// **** 数据库连接代码 结束 ******
//********* 测试数据代码开始 ******
//请在数据库中建立username表,表中建立两个字段uid和pwd,类型为文本型
String sql = "select * from username" ;
ResultSet rs = 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 (Exception e ) {
out . print ( "数据库连接错误!,错误信息如下:<br>" ) ;
out . print (e .getMessage ( ) ) ;
}
//******* 测试数据代码结束 *******
% >
第二种,JavaBean的形式。

/*
***************************************
* 作用: java连接Access数据库代码
* 作者:梦想年华
* Email:fanwsp@126.com
* Author:梦想年华
* CopyRight(c)2005-2006 by DreamTime
******** *******************************
*/
[/color]
package conn ; //导入包
import java .sql . * ; //导入数据库操作的类
public class DBConnAccess //构造方法,初始化
{
private Connection conn ; //连接对象
private Statement stmt ; //语句对象
private ResultSet rs ; //结果集对象
private String accessdriver ; //保存Access驱动程序字符串
private String accessURL ; //保存Access连接字符串
public DBConnAccess ( )
{
//Access驱动程序
accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver" ;
//连接字符串
accessURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" ;
conn = null ;
}
//该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接
public Connection getConnToAccess ( String dbpath ) {
try {
accessURL =accessURL +dbpath ;
Class .forName (accessdriver ) ;
conn = DriverManager .getConnection (accessURL ) ;
}catch (Exception e ) {
System .out .println ( "操作数据库出错,请仔细检查" ) ;
System .err .println (e .getMessage ( ) ) ;
}
return conn ;
}
//关闭数据库连接
public void close ( )
{
try {
//rs.close();
//stmt.close();
conn .close ( ) ;
}catch (SQLException sqlexception ) {
sqlexception .printStackTrace ( ) ;
}
}
}
***************************************
* 作用: java连接Access数据库代码
* 作者:梦想年华
* Email:fanwsp@126.com
* Author:梦想年华
* CopyRight(c)2005-2006 by DreamTime
******** *******************************
*/
[/color]
package conn ; //导入包
import java .sql . * ; //导入数据库操作的类
public class DBConnAccess //构造方法,初始化
{
private Connection conn ; //连接对象
private Statement stmt ; //语句对象
private ResultSet rs ; //结果集对象
private String accessdriver ; //保存Access驱动程序字符串
private String accessURL ; //保存Access连接字符串
public DBConnAccess ( )
{
//Access驱动程序
accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver" ;
//连接字符串
accessURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" ;
conn = null ;
}
//该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接
public Connection getConnToAccess ( String dbpath ) {
try {
accessURL =accessURL +dbpath ;
Class .forName (accessdriver ) ;
conn = DriverManager .getConnection (accessURL ) ;
}catch (Exception e ) {
System .out .println ( "操作数据库出错,请仔细检查" ) ;
System .err .println (e .getMessage ( ) ) ;
}
return conn ;
}
//关闭数据库连接
public void close ( )
{
try {
//rs.close();
//stmt.close();
conn .close ( ) ;
}catch (SQLException sqlexception ) {
sqlexception .printStackTrace ( ) ;
}
}
}
调用方法如下:

<meta http
-equiv
=
"Content-Type" content
=
"text/html; charset=gb2312"
>
< %@ page contentType = "text/html; charset=gb2312" language = "java"
import = "java.sql.*" % >
<jsp :useBean id = "DBConn" scope = "page" class = "conn.DBConnAccess" / >
< %
//连接Access 数据库
String dbpath = "data/test.mdb" ; //数据库的路径,请自行修改
Connection conn =DBConn .getConnToAccess (application .getRealPath (dbpath ) ) ;
Statement stmt =conn .createStatement (ResultSet .TYPE_SCROLL_INSENSITIVE ,ResultSet .CONCUR_READ_ONLY ) ;
String sql = "select * from username order by id" ;
//String sql1="insert into username (uid,pwd) values('wsp','wsp')";
//stmt.executeUpdate(sql1);
ResultSet rs =stmt .executeQuery (sql ) ;
while (rs .next ( ) ) {
out . print ( "用户名:" ) ;
out . print (rs .getString ( "uid" ) + " 密码:" ) ;
out .println (rs .getString ( "pwd" ) + "<br>" ) ;
}
DBConn .close ( ) ;
% >
< %@ page contentType = "text/html; charset=gb2312" language = "java"
import = "java.sql.*" % >
<jsp :useBean id = "DBConn" scope = "page" class = "conn.DBConnAccess" / >
< %
//连接Access 数据库
String dbpath = "data/test.mdb" ; //数据库的路径,请自行修改
Connection conn =DBConn .getConnToAccess (application .getRealPath (dbpath ) ) ;
Statement stmt =conn .createStatement (ResultSet .TYPE_SCROLL_INSENSITIVE ,ResultSet .CONCUR_READ_ONLY ) ;
String sql = "select * from username order by id" ;
//String sql1="insert into username (uid,pwd) values('wsp','wsp')";
//stmt.executeUpdate(sql1);
ResultSet rs =stmt .executeQuery (sql ) ;
while (rs .next ( ) ) {
out . print ( "用户名:" ) ;
out . print (rs .getString ( "uid" ) + " 密码:" ) ;
out .println (rs .getString ( "pwd" ) + "<br>" ) ;
}
DBConn .close ( ) ;
% >