數(shù)據(jù)加載中……

          Java連接access數(shù)據(jù)庫(kù)

          轉(zhuǎn)自:http://blog.csdn.net/guofangsky/archive/2006/11/30/1422038.aspx

           

          JDBC(Java DataBase Connectivity)Java數(shù)據(jù)庫(kù)連接APIJDBC能完成與一個(gè)數(shù)據(jù)庫(kù)建立連接,然后向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,再處理數(shù)據(jù)庫(kù)返回的結(jié)果。

          JDBC在設(shè)計(jì)上和ODBC相似。JDBC和數(shù)據(jù)庫(kù)建立連接的一種方式是首先建立起一個(gè)JDBC-ODBC橋接器

          首先安裝office2000,就有了Access2000,啟動(dòng)Access,建立新數(shù)據(jù)庫(kù)mess.mdb,建立包含兩個(gè)文本型字段namesex的表,表名為member,隨便錄入一些字符串到member表中,保存在任意目錄下,比如說(shuō)C盤下。然后打開(kāi)控制面板 -> 管理工具 -> 數(shù)據(jù)源 (ODBC),選擇"系統(tǒng)DSN",也可以選擇"用戶DSN"選項(xiàng)卡,系統(tǒng)的DSN對(duì)每個(gè)用戶都適用可避免調(diào)試時(shí)出現(xiàn)的權(quán)限問(wèn)題,單擊“添加”,選擇如下圖的項(xiàng)目:

          點(diǎn)擊"完成",彈出的對(duì)話框里將"數(shù)據(jù)源名"一項(xiàng)設(shè)為你喜歡的名字,比如redsun。點(diǎn)"選擇",找到"C:"mess.mdb"文件,如此一個(gè)ODBC數(shù)據(jù)源就配置好了。

          要連接該數(shù)據(jù)源,也就是連接數(shù)據(jù)庫(kù),首先要建立一個(gè)JDBC-ODBC橋接器,上面已經(jīng)說(shuō)過(guò)了,其方法是:

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

          Class Java.lang包中的一個(gè)類,通過(guò)調(diào)用它的靜態(tài)方法forName就可以建立橋接器。但建立橋接器時(shí)可能發(fā)生異常,這是我們所不想見(jiàn)到的,因此要捕獲這個(gè)異常:

          try{
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
          catch(ClassNotFoundException e){
          異常捕獲}

          然后就是連接數(shù)據(jù)庫(kù)了,這里要用到java.sql包中的Connection類聲明一個(gè)對(duì)象,再用類DriverManager調(diào)用它的靜態(tài)方法getConnection創(chuàng)建這個(gè)連接。

          Connection con=DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)源名字","數(shù)據(jù)源用戶名","數(shù)據(jù)源密碼");

          為防止連接出現(xiàn)異常,這里也要有個(gè)異常的處理,具體看代碼:

          =========access.java============

          程序代碼

          import java.sql.*;
          public class access{
          public static void main(String args[]){
           Connection con;
           Statement sql; //
          聲明Statement對(duì)象
           ResultSet rs;
          try{
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
          catch(ClassNotFoundException e){
          System.out.println(""+e);
          }
          try{
           con=DriverManager.getConnection("jdbc:odbc:redsun","","");
          sql=con.createStatement();
          rs=sql.executeQuery("Select * FROM member");
          while(rs.next()){
           String name=rs.getString(1); //
          獲得數(shù)據(jù)庫(kù)第一列
           String sex=rs.getString(2);
          System.out.println("
          姓名:"+name); //輸出信息
          System.out.println("
          性別:"+sex);
             }
          con.close();
          }
          catch(SQLException el){}
           }
          }

          編繹access.java, 然后在命令提示符中先切換到編繹后的access.class的目錄,執(zhí)行:

          java access回車

          結(jié)果如圖顯示:

          以上這個(gè)例子只是簡(jiǎn)單的連接數(shù)據(jù)庫(kù),并靜態(tài)游標(biāo)方式顯示數(shù)據(jù),更新、刪除和添加數(shù)據(jù)庫(kù)以前學(xué)過(guò)sql的很容易理解,語(yǔ)法為:

          String xx="sql語(yǔ)句";

          Statement對(duì)象.executeUpdate(xx);

          posted on 2008-06-23 22:21 edog 閱讀(796) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

          主站蜘蛛池模板: 米脂县| 永年县| 西畴县| 吉木萨尔县| 奎屯市| 洛浦县| 河西区| 天全县| 济宁市| 马公市| 龙川县| 绩溪县| 惠东县| 维西| 寿宁县| 广东省| 东辽县| 博兴县| 武鸣县| 普定县| 永仁县| 荣昌县| 信阳市| 获嘉县| 泸溪县| 滁州市| 陈巴尔虎旗| 三明市| 托里县| 娄底市| 庆元县| 军事| 沂南县| 临夏市| 德州市| 南部县| 汽车| 松江区| 许昌县| 通道| 瓦房店市|