js|初学|access|数据库
适用初学者的JSP连接Access数据库代码,刚刚写的一个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("
");
}
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.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
/*********************************
********* JDBC_ODBC连接Access数据库,不需要设置数据源
********* Date: 2005.8
********* Email:fanwsp126.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") + "
");
}
out.print("
恭喜你!数据库连接成功!");
rs.close(); //关闭记录集对象
stmt.close(); //关闭语句对象
conn.close(); //关闭连接对象
}catch(Exception e){
out.print("数据库连接错误!,错误信息如下:
");
out.print(e.getMessage());
}
//******* 测试数据代码结束 *******
%>
第二种,JavaBean的形式。
复制内容到剪贴板代码:
/*
***************************************
* 作用: java连接Access数据库代码
* 作者:梦想年华
* Email:fanwsp126.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")+"
");
}
DBConn.close();
%>