转载 JAVA SE 连接ACCESS

本代码实现连接 本机数据库的方法。

操作步骤:

1、进入控制面板,打开“管理工具→数据源(ODBC)”,弹出“ODBC数据源管理器”,在“用户DSN”选项卡中,单击选中名称为“Visio Database Sample”,驱动程序为“Microsoft Access Driver(*.mdb,*.accdb)”的选项(注意:*.mdb 是ACCESS 2003的数据库扩展名,*.accdb是access 2007及以上的扩展名,如果看不到该选项,请确认已经安装access软件),然后单击 “添加”按钮,弹出“创建新数据源”对话框,选择“Microsoft Access Driver(*.mdb,*.accdb)”(对access 2003 和 access2007均适用),单击“完成”按钮,弹出 "ODBC Microsoft Access 安装" 对话框,在 数据源名 中输入 你的access 数据库名称,比如 “book”,然后单击 “选择”按钮,在弹出的 对话框中找到 你电脑上的数据库文件(如我的 “book”数据库文件),最后单击确定按钮,返回相应的对话框,然后选择 “确定” “完成”,最后回到 “ODBC数据源管理器”可以看到 用户数据源中出现了“book”数据源,

2、连接数据库的关键语句:

加载驱动程序:
String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(sDriver);

连接数据库:
Connection dbCon=null;
String sCon="jdbc:odbc:book"; //book 就是数据库名称
dbCon=DriverManager.getConnection(sCon);

执行数据库操作:
Statement stmt=stmt=dbCon.createStatement();
String sSQL="SELECT * "+" FROM bookindex";
ResultSet rs=stmt.executeQuery(sSQL);
while(rs.next()){
 int num;
 System.out.print(rs.getString("BookID")+"  ");  //输出对应字段的值
 System.out.print(rs.getString("BookTitle")+"  ");
 System.out.print(rs.getString("BookAuthor"));
 System.out.println("  " +rs.getFloat("BookPrice"));
}

关闭数据库连接
stmt.close();
dbCon.close();

实例代码如下(有 book数据库,表bookindex,字段有 :BookID、BookTitle、BookAuthor、BookPrice)

[java] view plaincopyprint?

  1. <SPAN style="FONT-SIZE: 18px">import java.sql.*;
  2. public class DBconnTest {
  3. public static void main(String args[]) {
  4. //步骤1:加载驱动程序
  5. String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
  6. try{
  7. Class.forName(sDriver);
  8. }
  9. catch(Exception e){
  10. System.out.println("无法加载驱动程序");
  11. return;
  12. }
  13. System.out.println("步骤1:加载驱动程序——成功!");
  14. Connection dbCon=null;
  15. Statement stmt=null;
  16. String sCon="jdbc:odbc:book";
  17. try{
  18. dbCon=DriverManager.getConnection(sCon);
  19. if(dbCon!=null){
  20. System.out.println("步骤2:连接数据库——成功!");
  21. }
  22. //步骤3:建立JDBC的Statement对象
  23. stmt=dbCon.createStatement();
  24. if(stmt!=null){
  25. System.out.println("步骤3:建立JDBC的Statement对象——成功!");
  26. }
  27. }
  28. catch(SQLException e){
  29. System.out.println("连接错误:"+sCon);
  30. System.out.println(e.getMessage());
  31. if(dbCon!=null){
  32. try{
  33. dbCon.close();
  34. }
  35. catch(SQLException e2){}
  36. }
  37. return;
  38. }
  39. try{//执行数据库查询,返回结果
  40. String sSQL="SELECT * "+" FROM bookindex";
  41. ResultSet rs=stmt.executeQuery(sSQL);
  42. while(rs.next()){
  43. System.out.print(rs.getString("BookID")+"  ");
  44. System.out.print(rs.getString("BookTitle")+"  ");
  45. System.out.print(rs.getString("BookAuthor"));
  46. System.out.println("  " +rs.getFloat("BookPrice"));
  47. }
  48. }
  49. catch(SQLException e){
  50. System.out.println(e.getMessage());
  51. }
  52. finally{
  53. try{
  54. //关闭步骤3所开启的statement对象
  55. stmt.close();
  56. System.out.println("关闭statement对象");
  57. }
  58. catch(SQLException e){}
  59. try{
  60. //关闭数据库连接
  61. dbCon.close();
  62. System.out.println("关闭数据库连接对象");
  63. }
  64. catch(SQLException e){}
  65. }
  66. }
  67. }
  68. </SPAN>
import java.sql.*;
public class DBconnTest {
	public static void main(String args[]) {
		//步骤1:加载驱动程序
		String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
		try{
			Class.forName(sDriver);
		}
		catch(Exception e){
			System.out.println("无法加载驱动程序");
			return;
		}
		System.out.println("步骤1:加载驱动程序——成功!");
		Connection dbCon=null;
		Statement stmt=null;
		String sCon="jdbc:odbc:book";
		try{
			dbCon=DriverManager.getConnection(sCon);
			if(dbCon!=null){
				System.out.println("步骤2:连接数据库——成功!");
			}
			//步骤3:建立JDBC的Statement对象
			stmt=dbCon.createStatement();
			if(stmt!=null){
				System.out.println("步骤3:建立JDBC的Statement对象——成功!");
			}
		}
		catch(SQLException e){
			System.out.println("连接错误:"+sCon);
			System.out.println(e.getMessage());
			if(dbCon!=null){
				try{
					dbCon.close();
				}
				catch(SQLException e2){}
			}
			return;
		}
		try{//执行数据库查询,返回结果
			String sSQL="SELECT * "+" FROM bookindex";
			ResultSet rs=stmt.executeQuery(sSQL);
			while(rs.next()){
				System.out.print(rs.getString("BookID")+"  ");
				System.out.print(rs.getString("BookTitle")+"  ");
				System.out.print(rs.getString("BookAuthor"));
				System.out.println("  " +rs.getFloat("BookPrice"));
			}
		}
		catch(SQLException e){
			System.out.println(e.getMessage());
		}
            finally{
                try{
                    //关闭步骤3所开启的statement对象
                    stmt.close();
                    System.out.println("关闭statement对象");
                }
                catch(SQLException e){}
                try{
                    //关闭数据库连接
                    dbCon.close();
                    System.out.println("关闭数据库连接对象");
                }
                catch(SQLException e){}
           }
      }
}

上面的方法问题:只对本机有效,换个电脑就找不到数据源了,需要重新配置 access数据源

在连接数据库时,可以直接指定数据库 的路径,最好将数据库和源文件放到一个目录里,这样就不用再配置数据源了。方法如下:

将指定数据源语句代码更改为如下:

原先代码:

String sCon="jdbc:odbc:book";

更改后代码:(注意,这里将数据库与程序源文件放到同一目录下,如果用 eclipse 则是放到 项目文件夹中,与.classpath 同级。

String sCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=book.mdb";

也可以在eclipse 中建立个文件夹 比如 DB 文件夹,则语句还要加上目录如下:

String sCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DB/book.mdb";

实例如下:

[java] view plaincopyprint?

  1. <SPAN style="FONT-SIZE: 18px">import java.sql.*;
  2. public class DBconnTest {
  3. public static void main(String args[]) {
  4. //步骤1:加载驱动程序
  5. String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
  6. try{
  7. Class.forName(sDriver);
  8. }
  9. catch(Exception e){
  10. System.out.println("无法加载驱动程序");
  11. return;
  12. }
  13. System.out.println("步骤1:加载驱动程序——成功!");
  14. Connection dbCon=null;
  15. Statement stmt=null;
  16. String sCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=book.mdb";
  17. try{
  18. dbCon=DriverManager.getConnection(sCon);
  19. if(dbCon!=null){
  20. System.out.println("步骤2:连接数据库——成功!");
  21. }
  22. //步骤3:建立JDBC的Statement对象
  23. stmt=dbCon.createStatement();
  24. if(stmt!=null){
  25. System.out.println("步骤3:建立JDBC的Statement对象——成功!");
  26. }
  27. }
  28. catch(SQLException e){
  29. System.out.println("连接错误:"+sCon);
  30. System.out.println(e.getMessage());
  31. if(dbCon!=null){
  32. try{
  33. dbCon.close();
  34. }
  35. catch(SQLException e2){}
  36. }
  37. return;
  38. }
  39. try{//执行数据库查询,返回结果
  40. String sSQL="SELECT * "+" FROM bookindex";
  41. ResultSet rs=stmt.executeQuery(sSQL);
  42. while(rs.next()){
  43. System.out.print(rs.getString("BookID")+"  ");
  44. System.out.print(rs.getString("BookTitle")+"  ");
  45. System.out.print(rs.getString("BookAuthor"));
  46. System.out.println("  " +rs.getFloat("BookPrice"));
  47. }
  48. }
  49. catch(SQLException e){
  50. System.out.println(e.getMessage());
  51. }
  52. finally{
  53. try{
  54. //关闭步骤3所开启的statement对象
  55. stmt.close();
  56. System.out.println("关闭statement对象");
  57. }
  58. catch(SQLException e){}
  59. try{
  60. //关闭步骤3所开启的statement对象
  61. dbCon.close();
  62. System.out.println("关闭数据库连接对象");
  63. }
  64. catch(SQLException e){}
  65. }
  66. }
  67. }
  68. </SPAN>
时间: 2024-11-25 23:39:26

转载 JAVA SE 连接ACCESS的相关文章

java连接access数据库的三种方式以及远程连接

连接access数据库,网上的内容很多,尝试的过程中也会遇到各种问题,没有特别好的介绍,所以自己想总结一下,日后备用. 这里需要提前说明下,win7系统32bit和64bit默认安装的access都是32bit的,但是如果是64bit的系统连接access数据库时需要安装64bit的office软件,下面会说到. 以64bit操作系统为列 第一种:电脑上配置结合java代码实现 a.打开目录C:\Windows\System32找到odbcad32.exe文件,双击打开 b.点击右侧添加按钮,在

Java连接Access数据库的那些坑

Java 使用 JDBC 连接Access数据库 需要掌握的技能 1.Java SE基本技术 2.懂点JDBC技术 能够学到如何使用Java正确的连接JDBC 环境 window8.1 64位 jdk6 32位 Access 2013 Eclipse 4.4 下面是代码 package com.malin.app; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; impor

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的版本. 连

连接mysql时提示java.sql.SQLException: Access denied for user &#39;root&#39;@&#39;DESKTOP-N2B2D9A&#39; (using password: YES)

用root连接mysql时提示:访问被拒绝 检查一下mysql server是否开启,发现后台在运行着..  然后查了一下mysql的用户表,发现root只能运行使用本地ip(localhost或者127.0.0.1)进行连接 解决方法:新开一个权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jeffw' WITH GRANT OPTION; 然后查询一下:select * from user; 新开的root的已经开启权限,

MySQL java连接被拒绝:java.sql.SQLException: Access denied for user &#39;root&#39;@&#39;****&#39; (using password: YES)

java.sql.SQLException: Access denied for user 'root'@'***.**.**.**' (using password: YES) MySQL服务器部署在Linux上,错误中被我隐掉的是我的公网IP. 这是由于"IP为***.**.**.**,名字为root"的用户 没有权限访问数据库 解决办法: 通过Navicat连接数据库,执行下面内容: grant all privileges on *.* to [email protected]

JAVA连接ACCESS、MYSQL、SQLSEVER、ORACLE数据库

. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity)是Java语言为了支持SQL功能而提供的与数据库连接的用户的接口,JDBC中包括了一组由(Java)语言书写的接口和类,它们都是独立于特定的DBMS,或者说他们可以和各种数据库相关联. 1.2 JDBC用途 JDBC由一组Java语言编写的类和接口组成,使用内嵌式的SQL,主要实现三方面功能:建立于数据库的链接,执行SQL声明以及处理SQL执行结果:JDBC支持基本的SQL功能,使用它可以方便地与不同

Java Web项目中连接Access数据库的配置方法

本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问题,所以今天改了一下又一次的公布了 老师决定期末考试採用access数据库实现增删改查.我觉得如今的我已经没有问题了.可是曾经都是在JSP页面中连接access数据库,不管是下面的那种方式都进行了连接的练习,可是如今我想让我的项目中的訪问access数据库的java代码,封装到DAO中,在DAO中连接数据库,

Caused by: java.sql.SQLException: Access denied for user &#39;root&#39;@&#39;192.168.6.131&#39; (using password: YES),远程连接数据库,连接不上解决方案

进入 mysql   ; use mysql; 然后 执行 GRANT ALL PRIVILEGES ON *.* TO [email protected]"你.的.端.口" IDENTIFIED BY "你的密码" WITH GRANT OPTION; FLUSH PRIVILEGES; 然后成功 Caused by: java.sql.SQLException: Access denied for user 'root'@'192.168.6.131' (usi

java的几个版本以及jre,jdk等概念——【转载】JDK、Java SE、Java EE、Java ME我该选

我们平时使用的一些软件,有一部分需要Java环境的支持,但是SUN那么多的产品,让人眼花缭乱的版本号,前看后看都差不多的缩写,让我们选择起来的时候常常望而却步,只好跟着感觉走.所以下面我要介绍的就是那些让大家困惑的东西,首先让我们看看SUN的产品之多:下载地址:http://developers.sun.com/downloads/ 哈哈还没有展开它们的子选项呢,让人眼花缭乱,下面介绍大家使用的比较广泛的名词吧:(一)J2SEJava2平台标准版(Java2 Platform Standard