Java连接access数据库

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:数据源名字","数据源用户名","数据源密码");

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

  1. import java.sql.Connection;  
  2. import java.sql.DriverManager;  
  3. import java.sql.ResultSet;  
  4. import java.sql.SQLException;  
  5. import java.sql.Statement;  
  6.   
  7. public class ConnToAccess {  
  8.   
  9.     public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException  
  10.     {  
  11.          //String url="jdbc:odbc:driver={Microsoft Access Driver (*.accdb)};DBQ=db.accdb";  
  12.          String url="jdbc:odbc:test"//此为dsn  
  13.          try   
  14.          {  
  15.              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  16.              Connection conn=DriverManager.getConnection(url);  
  17.              Statement stm=conn.createStatement();  
  18.              ResultSet rs=stm.executeQuery("select * from sell");  
  19.              while(rs.next())  
  20.              {  
  21.                  System.out.println(rs.getString(3));  
  22.              }  
  23.              rs.close();  
  24.              stm.close();  
  25.              conn.close();  
  26.          }  
  27.          catch (ClassNotFoundException e)  
  28.          {  
  29.              System.out.println(e.getMessage());  
  30.          }  
  31.     }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值