您的位置:首页 > 编程语言 > Java开发

Java连接access数据库

2016-06-27 08:16 543 查看
JDBC(Java DataBase Connectivity)是Java数据库连接API。JDBC能完成与一个数据库建立连接,然后向数据库发送SQL语句,再处理数据库返回的结果。

JDBC在设计上和ODBC相似。JDBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器

首先安装office2000,就有了Access2000,启动Access,建立新数据库mess.mdb,建立包含两个文本型字段namesex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源
(ODBC)
,选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,选择如下图的项目:

点击"完成",弹出的对话框里将"数据源名"一项设为你喜欢的名字,比如test。点"选择",找到"C:/mess.mdb"文件,如此一个ODBC数据源就配置好了。

要连接该数据源,也就是连接数据库,首先要建立一个JDBC-ODBC桥接器,上面已经说过了,其方法是:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Class 是Java.lang包中的一个类,通过调用它的静态方法forName就可以建立桥接器。但建立桥接器时可能发生异常,这是我们所不想见到的,因此要捕获这个异常:

try{

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

 }

catch(ClassNotFoundException e){异常捕获}


然后就是连接数据库了,这里要用到java.sql包中的Connection类声明一个对象,再用类DriverManager调用它的静态方法getConnection创建这个连接。

Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字","数据源用户名","数据源密码");

为防止连接出现异常,这里也要有个异常的处理,具体看代码:

[java] view
plaincopy

import java.sql.Connection;  

import java.sql.DriverManager;  

import java.sql.ResultSet;  

import java.sql.SQLException;  

import java.sql.Statement;  

  

public class ConnToAccess {  

  

    public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException  

    {  

         //String url="jdbc:odbc:driver={Microsoft Access Driver (*.accdb)};DBQ=db.accdb";  

         String url="jdbc:odbc:test"; //此为dsn  

         try   

         {  

             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  

             Connection conn=DriverManager.getConnection(url);  

             Statement stm=conn.createStatement();  

             ResultSet rs=stm.executeQuery("select * from sell");  

             while(rs.next())  

             {  

                 System.out.println(rs.getString(3));  

             }  

             rs.close();  

             stm.close();  

             conn.close();  

         }  

         catch (ClassNotFoundException e)  

         {  

             System.out.println(e.getMessage());  

         }  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: