Java連接Access數據庫執行增刪改查操作

em7 9年前發布 | 18K 次閱讀 Java

第一步,創建一個數據庫,命名為MyAccessDB.mdb;

第二步,添加數據源。在“控制面板”中打開 “管理工具”找到ODBC數據源,雙擊打開。在用戶DSN選項卡下選擇MS Access Database,然后點擊右側“添加”按鈕,選擇Driver do Microsoft Access(*mdb),然后點擊“完成”按鈕。在彈出的安裝對話框中,填寫數據源名稱“AccessData”,說明“數據源”,然后點擊“選擇”按鈕,在彈出才對話框中,選擇你所創建的數據庫所在的目錄,然后選中MyAccessDB.mdb,確定,確定,確定。

第三步,完成好以上工作好,就可以打開eclipse進行程序的編寫了。現將代碼拷貝如下:


(1)編寫BaseDao.java

    package com.dao;  

    import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  
    import java.sql.Statement;  

    /** 
     * 聯接數據源 
     * @author 劉仁奎 
     */  
    public class BaseDao {  
        Connection con = null;  
        Statement s = null;  
        ResultSet rs=null;  

        // 得到聯接  
        public Connection getConnection(){  
            try {  
                // 加載JDBC-ODBC橋驅動程序  
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  

                // 方式一  通過驅動聯接  
                con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\Technology\\Access2007\\MyAccessDB.mdb; pwd=liurenkui");  
                // 方式二 通過數據源與數據庫建立連接  
                //con = DriverManager.getConnection("jdbc:odbc:AccessDatabase");  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
            return con;  
        }  

        /** 
         * 關閉數據源 
         */  
        public void CloseConnection(Connection con,ResultSet rs,Statement s){  
            try {  
                if (rs!=null) {  
                    rs.close();  
                }  
                if (s!=null) {  
                    s.close();  
                }  
                if (con!=null) {  
                    con.close();      
                }  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
    }  

(2)編寫測試類
    package com.test;  

    import java.sql.Connection;  
    import java.sql.ResultSet;  
    import java.sql.Statement;  

    import com.dao.BaseDao;  

    public class Test extends BaseDao{  
        Connection con = null;  
        Statement s = null;  
        ResultSet rs=null;  
        /** 
         * 執行查詢 
         */  
        public void seach(){  
            try {  
                con=getConnection();  
                s = con.createStatement();// 創建SQL語句對象  
                rs=s.executeQuery("select * from employee");    // 查詢員工信息  
                while (rs.next()) {  
                    System.out.println("編號:"+rs.getInt("ID")+",姓名:"+rs.getString("name")+",年齡:"+rs.getInt("age")+",入職日期:"+rs.getDate("entryDate"));  
                }  
                System.out.println("__________執行完畢___________ ");  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                CloseConnection(con, rs, s);  
            }  
        }  

        /** 
         * 執行增加 
         */  
        public void add(){  
            try {  
                int result=0;  
                con=getConnection();  
                s = con.createStatement();// 創建SQL語句對象  
                result=s.executeUpdate("insert into employee(id,name,age,entryDate) values('9','芳芳','19','2012-11-2')");  
                if (result>0) {  
                    System.out.println("插入成功");   
                }  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                CloseConnection(con, rs, s);  
            }  
            seach();  
        }  

        /** 
         * 執行修改 
         */  
        public void updata(){  
            try {  
                int result=0;  
                con=getConnection();  
                s = con.createStatement();// 創建SQL語句對象  
                result=s.executeUpdate("update employee set age=20 where id=6");  
                if (result>0) {  
                    System.out.println("更新成功");  
                }  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                CloseConnection(con, rs, s);  
            }  
            seach();  
        }  

        /** 
         * 執行刪除 
         */  
        public void delete(){  
            try {  
                int result=0;  
                con=getConnection();  
                s = con.createStatement();// 創建SQL語句對象  
                result=s.executeUpdate("delete from employee where id=6");  
                if (result>0) {  
                    System.out.println("刪除成功");  
                }  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                CloseConnection(con, rs, s);  
            }  
            seach();  
        }  
        public static void main(String[] args) {  
            Test t=new Test();  
            t.seach();  
    //      t.add();      
    //      t.updata();  
    //      t.delete();  
        }  
    }  


 本文由用戶 em7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!