当前位置: 首页 > news >正文

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(); %>

相关文章:

  • 中国教育“绞肉机”
  • 在指定范围内 生成随机序列算法(可用于洗牌算法)
  • 不用‘/’ 实现除法运算
  • HTML5中的 querySelector
  • js中json的序列化和反序列化
  • 娱乐:输出π的前781位
  • Windows编程模型与API调用示例
  • UltraWebGrid禁止编辑单元格
  • winApi一日一练之 SetTextColor (和Textout)函数
  • 网页自动满屏
  • winApi一日一练之 CreateSolidBrush(和FillRect)
  • 非常抱歉,非常感谢——反省与感恩——企业文化不可缺少的两大内核
  • DOTA 快捷键助手
  • locale问题
  • C#网络爬虫与搜索引擎调研
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • SegmentFault for Android 3.0 发布
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 4. 路由到控制器 - Laravel从零开始教程
  • CSS居中完全指南——构建CSS居中决策树
  • java多线程
  • Laravel5.4 Queues队列学习
  • mysql常用命令汇总
  • Python中eval与exec的使用及区别
  • Redux系列x:源码分析
  • Ruby 2.x 源代码分析:扩展 概述
  • Solarized Scheme
  • Spark学习笔记之相关记录
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 分类模型——Logistics Regression
  • - 概述 - 《设计模式(极简c++版)》
  • 看域名解析域名安全对SEO的影响
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 一道面试题引发的“血案”
  • 用mpvue开发微信小程序
  • 正则表达式
  • No resource identifier found for attribute,RxJava之zip操作符
  • const的用法,特别是用在函数前面与后面的区别
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # 计算机视觉入门
  • $().each和$.each的区别
  • $forceUpdate()函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (接口封装)
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)RocketMQ初步认识
  • (转) Face-Resources
  • ***测试-HTTP方法
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复