Java 操作Access加密、未加密数据库方法

package com.mvc.fuhui;
import java.sql.*;

public class DBAccess {
public Connection conn=null;
/**
* 连接未加密的数据库
* @param dbPath
* @return
* @throws Exception
*/
public Statement getStatement(String dbPath) throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dburl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};" +
"DBQ="+dbPath;// 此为NO-DSN方式
// String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式
conn = DriverManager.getConnection(dburl);
return conn.createStatement();
}

/**
* 连接加密的数据库
* @param dbPath
* @return
* @throws Exception
*/
public Statement getStatement(String dbPath,String password) throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dburl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};" +
"pwd="+password+";DBQ="+dbPath;// 此为NO-DSN方式
// String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式
conn = DriverManager.getConnection(dburl);
return conn.createStatement();
}
/**
* 查询数据库
* @param stmt
* @param query
* @return
* @throws Exception
*/
public ResultSet executeQuery(Statement stmt,String query) throws Exception{
ResultSet rs=stmt.executeQuery(query);
return rs;
}

/**
* 更新数据库
* @param stmt
* @param query
* @throws SQLException
*/
public void executeUpdate(Statement stmt,String query) throws SQLException{
stmt.executeUpdate(query);
}

/**
* 关闭链接
* @throws SQLException
*/
public void close() throws SQLException{
if(conn!=null)
conn.close();
}

public static void main(String args[]) throws Exception {
DBAccess db=new DBAccess();
String dbPath="D:\\fh\\FH-pwd6007.MDB";
String query="select top 20 * from data";
String password="6007";
Statement stmt=db.getStatement(dbPath, password);
ResultSet rs=db.executeQuery(stmt, query);
while(rs.next()){
System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t"
+ rs.getString(3) + "\t" + rs.getString(4) + "\t"
+ rs.getString(5));
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值