首页 > 代码库 > JDBC编程:连接Access详细示例

JDBC编程:连接Access详细示例

 1 package org.warnier.zhang.jdbc; 2  3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.ResultSetMetaData; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 10 public class AccessTest {11 12     /**13      * @param args14      * @throws ClassNotFoundException15      * @throws SQLException16      */17     public static void main(String[] args) throws ClassNotFoundException,18             SQLException {19         // 加载驱动程序;(虚拟机加载类,而非在编程的过程中要使用这个类。)20         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");21 22         // 建立数据库连接;23         Connection connection = DriverManager.getConnection("jdbc:odbc:Warrior");24         //注:制作Access数据源时出错的一些解决方案:25         //1.选择ODBC 数据源(32 位)或者ODBC 数据源(64位)必须要与JDK(是32或64位)的版本一致。26         //2.使用Office2007或更高版本的Access时,需要将数据库保存为Microsoft Access数据库(2002~2003格式),27         //切记不要直接修改文件的扩展名为.mdb,否则会报“不能打开数据库 ‘(未知的)‘。应用程序可能无法识别该28         //数据库,或文件可能损坏。应用程序可能无法识别该数据库,或文件可能损坏。”的错误。29 30         // 创建SQL语句,执行语句,返回结果集;31         Statement statement = connection.createStatement();32         ResultSet resultSet = statement.executeQuery("SELECT * FROM user");33 34         // 处理结果集(包括元数据);35         // 打印属性名;36         ResultSetMetaData rsMetaData =http://www.mamicode.com/ resultSet.getMetaData();37         for (int i = 1; i <= rsMetaData.getColumnCount(); i++) {38             System.out.printf("%-8s\t", rsMetaData.getColumnName(i));39         }40         System.out.println();41 42         // 打印属性值;43         while (resultSet.next()) {44             for (int i = 1; i <= rsMetaData.getColumnCount(); i++) {45                 System.out.printf("%-12s\t", resultSet.getString(i));46             }47             System.out.println();48         }49 50         // 关闭数据库连接;(连接数据库在Java应用程序中是笔很大的开销。)51         connection.close();52     }53 54 }

 

JDBC编程:连接Access详细示例