Jsp联接Access数据库文件的方法

引用:http://www.cnsdn.com.cn/blog/article.asp?id=2011

一个用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数据库,不需要设置数据源 // ******* 数据库连接代码 开始 ***** //异常处理语句 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的形式。

程序代码

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(); %>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值