当前位置:数据库 > Access >>

Java 链接access数据库的方法

最近需要用java做一个小功能,需要链接access数据库,在网上找了好多,方法都差不多,现总结下,供大家参考。
  我的office版本是2010的,所以access数据库文件的后缀是.accdb,在发布系统的时候,数据库文件放在项目中跟tomcat一起发布,这样方便部署。
  1、获取数据库路径:
    // 获取数据库文件路径
    public static String getPath(){
        String path = "";
        String projectName="Test";
        path = System.getProperty("user.dir");    // 获取到tomcat的bin目录地址
         path = path.replace("bin", "webapps")+"\\"+projectName+"\\Data\\test.accdb";
       return path;
       
    }

  2、建立数据库连接:
  url中,*.mdb, *.accdb 这两个之间要有空格,否则会报错误:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序;
  PWD是数据库密码,如果没有的话可以不用写。
    // 建立数据库链接
    public static Connection getConnection() throws SQLException, ClassNotFoundException{
     String path = getPath();
        String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+path+" ;PWD=123456789";
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection conn = DriverManager.getConnection(url);
        return conn;
       
    }

  3、简单查询数据:
    // 根据SQL语句,返回查询结果的第一行第一列
    public static String getScalar(String strSQL) {
        String rValue = "";
        Connection conn = null;
        try {
            conn = getConnection();
            Statement st = conn.createStatement();
            //System.out.println(strSQL);
            ResultSet rs = st.executeQuery(strSQL);
            if (rs.next()) {
                rValue = rs.getString(1);
               
            }
            rs.close();
            st.close();
            conn.close();
           
        } catch (Exception e) {
            System.out.println("数据库连接发生错误,错误信息:" + e.toString());
        } finally {
            try {
                if (conn != null && !conn.isClosed())
                    conn.close();
            } catch (SQLException ex1) {
                System.out.println("数据库关闭发生错误,错误信息:" + ex1.toString());
            }
        }
        return rValue;
    }


  就先写到这里了,第一次写博客,有写的不好的地方或者代码不合适的地方欢迎大家指点。

 

摘自  zhangx的菜地
 
补充:软件开发 , Java ,
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,