网络编程
位置:首页>> 网络编程>> 数据库>> java连接Access数据库的方法

java连接Access数据库的方法

作者:北梦木兮  发布时间:2024-01-14 13:41:17 

标签:java,Access,连接

java连接Access数据库的方法,分享给大家

步骤:

1.现在我们一般使用的编译环境是java SE 1.8,不支持odbc的连接方式,所以可以用jdbc的连接方式,还要在网上下载一个jdbc的驱动包。(这里用了Access_JDBC30.jar包,在网上可以找到)

2.右击JRE System Libary->点击 Build Path->点击Add External JARs->将Access_JDBC30.jar添加进去。

3.在这些都准备好之后,j建立数据库,还要将Access数据库的版本降为2000或者2003的版本。

连接数据库代码:


Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:Access:///C:/Users/k05/Desktop/Address.mdb","","");
//数据库路径 用户名 密码

数据库示例:

java连接Access数据库的方法

运行结果:

java连接Access数据库的方法

代码如下:


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("联系人");
   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);

// 计算有多少条记录
     int count = 0;
     while(rs.next()){
       count++;
     }

rs = pstm.executeQuery();

// 将查询获得的记录数据,转换成适合生成JTable的数据形式
     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 = {"姓名","电话号码"};

// 创建JTable
     this.tabDemo = new JTable(info,title);

// 显示表头  
     //this.jth = this.tabDemo.getTableHeader();

// 将JTable加入到带滚动条的面板中  
     this.scpDemo.getViewport().add(tabDemo);
     rs.close();
     conn.close();
     }catch(ClassNotFoundException cnfe){
       JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);

}catch(SQLException sqle){
       JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
   }
 }
}
0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com