java连接Access数据库
Posted 北梦木兮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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","","");//数据库路径 用户名 密码
数据库示例:
运行结果:
代码如下:
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); } } }
以上是关于java连接Access数据库的主要内容,如果未能解决你的问题,请参考以下文章