java連接Access數(shù)據(jù)庫(kù)的方法
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ù)示例:

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

代碼如下:
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í)有所幫助,也希望大家多多支持腳本之家。
- Java I/O深入學(xué)習(xí)之File和RandomAccessFile
- Java設(shè)置Access-Control-Allow-Origin允許多域名訪問(wèn)的實(shí)現(xiàn)方法
- Java RandomAccessFile 指定位置實(shí)現(xiàn)文件讀取與寫(xiě)入
- Java接口RandomAccess全面了解
- java微信公眾號(hào)開(kāi)發(fā)第一步 公眾號(hào)接入和access_token管理
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫(kù)的配置方法
- Java程序生成Access文件代碼實(shí)例
相關(guān)文章
springboot利用AOP完成日志統(tǒng)計(jì)的詳細(xì)步驟
項(xiàng)目用到了過(guò)濾器,可能有的人會(huì)不理解,之所以用過(guò)濾器是因?yàn)橄胍谌罩居涗沺ost請(qǐng)求的json數(shù)據(jù)。本文重點(diǎn)給大家介紹springboot利用AOP完成日志統(tǒng)計(jì)的詳細(xì)步驟,感興趣的朋友跟隨小編一起看看吧2021-12-12
基于Feign實(shí)現(xiàn)異步調(diào)用
近期,需要對(duì)之前的接口進(jìn)行優(yōu)化,縮短接口的響應(yīng)時(shí)間,但是springcloud中的feign是不支持傳遞異步化的回調(diào)結(jié)果的,因此有了以下的解決方案,記錄一下,需要的朋友可以參考下2021-05-05
java使用mysql預(yù)編譯語(yǔ)句查詢優(yōu)勢(shì)及示例詳解
這篇文章主要為大家介紹了java使用mysql預(yù)編譯語(yǔ)句的優(yōu)勢(shì)特點(diǎn)及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
SpringBoot整合Redis使用@Cacheable和RedisTemplate
本文主要介紹了SpringBoot整合Redis使用@Cacheable和RedisTemplate,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
詳解Java線程池如何統(tǒng)計(jì)線程空閑時(shí)間
這篇文章主要和大家分享一個(gè)面試題:Java線程池是怎么統(tǒng)計(jì)線程空閑時(shí)間?文中的示例代碼講解詳細(xì),對(duì)我們掌握J(rèn)ava有一定幫助,需要的可以參考一下2022-11-11

