不用JDBC:ODBC bridge直接操作Access 数据库

类别:Java 点击:0 评论:0 推荐:

/*
  用JDBC来连接数据库有很两种方式,如<1>JDBC:ODBC bridge, <2>直接连接方式.
  第二种方式有很多好处,它可以独立于依赖于系统的odbc数据源,存储数据的database
  可以自由地移动,例如对个人站点的数据库更具有优势.这里我谈谈平时自己用这种方式 开发的感受.希望对大家有所帮助.
    运行环境:Win2k advance server(English version),
    JSDK 1.4.1
     Microsoft Access Database(Office XP系列)
*/

/**
 * @author  wolfhan
 * @version 12/18/2002
 * @since   Jdk 1.4.0
 */
import java.io.*;
import java.sql.*;

public class MobileDatabase
{
 public static void main(String[] args)
 {
  try{
   //Load JDBC driver
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   
 /*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/
   String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=access\\test.mdb";
   
   Connection con = DriverManager.getConnection(dbUrl,"","");   
   Statement state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                         ResultSet.CONCUR_UPDATABLE);
   //执行SQL语句
   String sql = "select * from address";
   ResultSet rs = state.executeQuery(sql);

   //打印测试
   if( rs != null ){
       while( rs.next() ){
          System.out.println("\t" + rs.getString("name"));
      }
      rs.close();
      con.close();
   }
  }
  catch(Exception e){   
      e.printStackTrace();
  }
 }

}//End class MobileDatabase

附:数据库test.mdb的结构设计:
   字段        类型     长度(字节)
   -----------------------------
   name       text     8
   sex        bool     (系统指定)  
   age        int      (系统指定)
   email      text     20
   -----------------------------
自已加几条记录到里面就可以测出结果了.
  
  
  


 

本文地址:http://com.8s8s.com/it/it18014.htm