您的位置:首页 > 博客中心 > 数据库 >

JDBC编程:连接Access详细示例

时间:2022-03-14 03:34

 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 args
14      * @throws ClassNotFoundException
15      * @throws SQLException
16      */
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 = 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 }

 

热门排行

今日推荐

热门手游