溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java連接Access數(shù)據(jù)庫(kù)的方法

發(fā)布時(shí)間:2020-10-21 01:28:32 來(lái)源:腳本之家 閱讀:258 作者:北夢(mèng)木兮 欄目:編程語(yǔ)言

java連接Access數(shù)據(jù)庫(kù)的方法,分享給大家

步驟:

1.現(xiàn)在我們一般使用的編譯環(huán)境是java SE 1.8,不支持odbc的連接方式,所以可以用jdbc的連接方式,還要在網(wǎng)上下載一個(gè)jdbc的驅(qū)動(dòng)包。(這里用了Access_JDBC30.jar包,在網(wǎng)上可以找到)

2.右擊JRE System Libary->點(diǎn)擊 Build Path->點(diǎn)擊Add External JARs->將Access_JDBC30.jar添加進(jìn)去。

3.在這些都準(zhǔn)備好之后,j建立數(shù)據(jù)庫(kù),還要將Access數(shù)據(jù)庫(kù)的版本降為2000或者2003的版本。

連接數(shù)據(jù)庫(kù)代碼:

Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:Access:///C:/Users/k05/Desktop/Address.mdb","","");
//數(shù)據(jù)庫(kù)路徑 用戶名 密碼

數(shù)據(jù)庫(kù)示例:

java連接Access數(shù)據(jù)庫(kù)的方法

運(yùn)行結(jié)果:

java連接Access數(shù)據(jù)庫(kù)的方法

代碼如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.*;

/**
 * 
 * @version 1.22 2017-4-7
 * @author BeiMengMuXi
 */
public class ASTest
{
  public static void main(String[] args)
  {
    new ASFrame();    
  }
}

import java.sql.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class ASFrame extends JFrame{
  private static final int DEFAULT_WEIDTH = 400;
  private static final int DEFAULT_HEIGHT = 680;
  private JScrollPane scpDemo; 
  private JTable tabDemo; 
  private JScrollPane scpDemo1; 
  private JTable tabDemo1; 
  
  public ASFrame()
  {    
    JFrame f=new JFrame();
    
    f.setTitle("通訊錄");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(DEFAULT_WEIDTH, DEFAULT_HEIGHT);
    f.setVisible(true);
    f.setResizable(false);
    f.setLayout(null);
    
    JLabel label1 = new JLabel("聯(lián)系人");
    f.add(label1);
    label1.setFont(new Font("宋體",1,30));
    label1.setBounds(150, 30, 100, 40);        
    
    this.scpDemo = new JScrollPane(); 
    this.scpDemo.setBounds(40,110,320,500);

    try {
      btnShow();
    } catch (InstantiationException | IllegalAccessException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } 
    
    // 將組件加入到窗體中 
    f.add(this.scpDemo);        
  }
    
  public void btnShow() throws InstantiationException, IllegalAccessException{ 
    String sql = "select * from Address";
    try{

      // 獲得連接 
      Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
      Connection conn = DriverManager.getConnection("jdbc:Access:///C:/Users/k05/Desktop/Address.mdb","","");
      PreparedStatement pstm = conn.prepareStatement(sql); 
      ResultSet rs = pstm.executeQuery(sql);
      
      // 計(jì)算有多少條記錄 
      int count = 0; 
      while(rs.next()){ 
        count++; 
      }

      rs = pstm.executeQuery();

      // 將查詢獲得的記錄數(shù)據(jù),轉(zhuǎn)換成適合生成JTable的數(shù)據(jù)形式 
      Object[][] info = new Object[count][2]; 
  
      count = 0; 
      
      while(rs.next()){         
        info[count][0] = rs.getString("name");   
        info[count][1] = rs.getString("phonenumber");   
        count++; 
      }

      // 定義表頭 
      String[] title = {"姓名","電話號(hào)碼"}; 
  
      // 創(chuàng)建JTable 
      this.tabDemo = new JTable(info,title); 
  
      // 顯示表頭   
      //this.jth = this.tabDemo.getTableHeader(); 
  
      // 將JTable加入到帶滾動(dòng)條的面板中   
      this.scpDemo.getViewport().add(tabDemo); 
      rs.close();
      conn.close();
      }catch(ClassNotFoundException cnfe){ 
        JOptionPane.showMessageDialog(null,"數(shù)據(jù)源錯(cuò)誤","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); 
  
      }catch(SQLException sqle){ 
        JOptionPane.showMessageDialog(null,"數(shù)據(jù)操作錯(cuò)誤","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); 
    } 
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI