关于JDBC 连接Access 数据库
************连接方式(一)Access_JDBC30.jar,此包由于是免费的,所有限制连接单次不超过50*************************
 Connection conn = null;
 PreparedStatement stat = null;
 ResultSet rs=null;
//连接数据库(添加access数据库的驱动jar包:Access_JDBC30.jar)
public Connection openConn() {
  try {
   //这种方法连接access不需要access的驱动jar包Access_JDBC30.jar
   //String url = "JDBC:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/eclipse/project/jee/workspace/jubweb2/src/message.mdb";
   //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   
   //这种方法连接access需要access的驱动jar包Access_JDBC30.jar
   String url="jdbc:access:/D:/eclipse/project/jee/workspace/jubweb2/src/message.mdb";//不支持相对路径
   Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
Connection conn = DriverManager.getConnection(url);
   return conn;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return null;
 }
//关闭数据库
 public void closeConn() {
  try {
   if (rs != null) {
    rs.close();
   }
   if (ps != null) {
    ps.close();
   }
   if (conn != null) {
    conn.close();
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
//添加
 public String addMessage(Yjfk yjfk) {
  conn =openConn();
  try {
   String sql = "insert into message values(?,?,?,?,?,?)";
   stat =openConn().prepareStatement(sql);
   stat.setString(1, UUID.randomUUID().toString());
   stat.setString(2, yjfk.getContent());
   stat.setString(3, yjfk.getCtype());
   stat.setString(4, yjfk.getName());
   stat.setString(5, yjfk.getEmail());
   stat.setString(6, yjfk.getPhone());
   stat.executeUpdate();
   return "success";
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   closeConn();
  }
  return "error";
 }
 
 //查询
 public List<Yjfk> qryMessage() throws SQLException{
  String sql = " select * from message ";
  stat = openConn().prepareStatement(sql);
  rs=stat.executeQuery();
  while (rs.next()) {
   System.out.println(rs.getString("content"));
   
  }
  closeConn();
  return null;
 }
************连接方式(二)JDBC-ODBC,jdk自带连接驱动,无需jar,但是需要配置本地电脑环境*************************
package com.qgc.tool;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp.BasicDataSource;
/**
 * 使用abcp连接池
 * @author admin
 *所需JAR包:commons-pool-1.6.jar、commons-collections-3.2.1.jar、commons-dbcp-1.4.jar
 *
 */
public class Dbcp_Jdbc_odbc {
    private static final int INITIAL = 50;//初始化50个连接
    private static final int MAX_ACTIVE = 500;//最大值500个连接
    private static final int MAX_IDLE = 10;//最大空闲10
    private static final long MAX_WAIT = 2 * 1000;//超过500个访问,等待的时间
    private static final String DRIVER_NAME = "sun.jdbc.odbc.JdbcOdbcDriver";
    private static BasicDataSource bds;
    static{
        if(bds == null){
            bds = new BasicDataSource();
        }
        bds.setDriverClassName(DRIVER_NAME);
        bds.setInitialSize(INITIAL);
        bds.setMaxActive(MAX_ACTIVE);
        bds.setMaxIdle(MAX_IDLE);
        bds.setMaxWait(MAX_WAIT);
    }
    
    /**
     * 打开连接池
     * @param path 数据库的路径
     * @return
     * @throws SQLException
     */
    public static Connection getSqliteConnection(String path) throws SQLException{
        if(path==null){
            path="qqData";
        }
        /*qqData: 配置方式:控制面板->管理工具->ODBC->系统DSN->添加 Microsoft Access Driver(*.mdb)
        数据源名:sun (这个与你写的jdbc:odbc:sun对应)
        选择->你建的*.mdb的位置
        确定就可以用了
         */
        String url = "jdbc:odbc:"+path; //myDS 数据源名称;
        bds.setUrl(url);//数据库的路径
        return bds.getConnection();
    }
/**
     * 释放数据库连接
     * 
     * @param rs
     * @param st
     * @param conn
     */
    public static void freeConnection(ResultSet rs, Statement st,
            Connection conn) {
        try {
            if (rs != null)
                rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (st != null)
                    st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (conn != null)
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
            }
        }
    }
    
}												
关于JDBC 连接Access 数据库的更多相关文章
- Java Web项目中连接Access数据库的配置方法
		本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ... 
- Java连接Access数据库的那些坑
		Java 使用 JDBC 连接Access数据库 需要掌握的技能 1.Java SE基本技术 2.懂点JDBC技术 能够学到如何使用Java正确的连接JDBC 环境 window8.1 64位 jdk ... 
- JDBC连接各种数据库的方法(经典)
		1)连接Oracle 8/8i/9i/10g/11g(thin模式) Class.forName("oracle.JDBC.driver.OracleDriver").newIns ... 
- JSP连接access数据库
		一个用jsp连接Access数据库的代码. 要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数 ... 
- JDBC连接各种数据库的方法,连接MySql,Oracle数据库
		JDBC连接各种数据库的方法: JDBC编程步骤: 1.导入jar包 2.注册驱动 3.获取数据库连接对象 4.定义SQL语句 5.获得执行SQL语句对象statemnet 6.执行SQL语句 7.处 ... 
- java远程连接access数据库
		本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html 1 rmijdbc远程连接access数据库 正常情况下,常用的数据库sql server, ... 
- 【.net 深呼吸】连接Access数据库应注意的几点
		本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ... 
- JDBC连接MySQL数据库代码模板
		下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ... 
- C#连接Access数据库(详解)
		做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ... 
随机推荐
- LeetCode  Binary Tree Maximum Path Sum  二叉树最大路径和(DFS)
			题意:给一棵二叉树,要求找出任意两个节点(也可以只是一个点)的最大路径和,至少1个节点,返回路径和.(点权有负的.) 思路:DFS解决,返回值是,经过从某后代节点上来到当前节点且路径和最大的值.要注意 ... 
- java程序员修炼之道
			今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处··· 大牛告诉我们应该好好学习与修炼以下知识与技能 Java语 ... 
- 【英语】Bingo口语笔记(63) - 一个单词的多种发音
- JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
			本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ... 
- Shell教程4-Shell替换
			如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: 复制纯文本新窗口 #!/bin/bash a=10 echo -e & ... 
- String定义与方法
			//5种构造方法 public void Con(){ String str = "sfaj"; String str1 = new String("sfajdf&quo ... 
- ylb:多表的连接与练习(第三方关联表的应用)
			ylbtech-SQL Server:SQL Server-多表的连接与练习(第三方关联表的应用) SQL Server 多表的连接与练习(第三方关联表的应用). 1,多表的连接与练习(第三方关联表的 ... 
- Nodejs_day04
			Nodejs模块系统 1.如何创建一个模块 创建一个js(hello.js) exports.world = function(){//为什么可以这么写,因为exports是nodejs公开的借口 c ... 
- 【JNI】OPUS压缩与解压的JNI调用(.DLL版本)
			OPUS压缩与解压的JNI调用(.DLL版本) 一.写在开头: 理论上讲,这是我在博客园的第一篇原创的博客,之前也一直想找个地方写点东西,把最近做的一些东西归纳总结下,但是一般工程做完了一高兴就把东西 ... 
- Python超级程序员使用的开发工具
			我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发? 你将来的计划是什么? 有什么给Py ... 
