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

操作步骤:

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)

  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>
  1. 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. }

上面的方法问题:只对本机有效,换个电脑就找不到数据源了,需要重新配置 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";

实例如下:

  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>

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

  1. java远程连接access数据库

    本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html 1  rmijdbc远程连接access数据库 正常情况下,常用的数据库sql server, ...

  2. java项目连接access数据库

    1.导入Access_JDBC30.jar到项目中 jar包百度云链接:https://pan.baidu.com/s/10HFM3HomMArvfHjklA_1MA 密码:0qxp 项目名称-> ...

  3. Java连接Access数据库的那些坑

    Java 使用 JDBC 连接Access数据库 需要掌握的技能 1.Java SE基本技术 2.懂点JDBC技术 能够学到如何使用Java正确的连接JDBC 环境 window8.1 64位 jdk ...

  4. java连接access数据库

    完整代码: package odbcj; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prep ...

  5. java连接Access数据库的两种方法

    where ziduan  in(select  ziduan from  table) 嵌套 ResultSet rs = pst.executeQuery();List list = new Ar ...

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

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  7. MySQL java连接被拒绝:java.sql.SQLException: Access denied for user 'root'@'****' (using password: YES)

    //系统运行出现错误:java.sql.SQLException: Access denied for user 'root'@'***.**.**.**' (using password: YES) ...

  8. Java 连接Access

    Java 连接Access 第一次使用连接Access数据库, 记录一下遇到的坑 Access驱动下载地址 http://pan.baidu.com/s/1o8ltTfc 不使用WINDOW的建立数据 ...

  9. Eclipse使用jdbc连接MySql数据库报:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    在使用eclipse连接mysql数据库时报异常: java.sql.SQLException: Access denied for user 'root'@'localhost' (using pa ...

随机推荐

  1. 解决编写 xml 没有代码提示

    有时候在编写 struts.xml 会没有代码提示,一般是因为没有联网导致的,或者之前配置过 dtd 文件 url,但是文件路径之后被修改了. 解决方案有: 让电脑联网 修改 dtd 的本地路径以及 ...

  2. 前端基础:JavaScript对象

    JavaScript对象 在JavaScript中除了null和undefined以外,其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,数字型.布尔型.字符串.日期.数字和正则表达式. ...

  3. dashboard and reporting Interface analysis

    dashboard and reporting Interface analysis > show system show system backup show system counters ...

  4. [AHOI2014/JSOI2014]支线剧情 有上下界费用流

    ---题面--- 题解: 第一眼费用流,,然后想了好久怎么建图,,,最后发现是最小费用可行流的板子题.... 其实还没有很懂这个算法,所以这里只是摆一下步骤,以后再补理解吧. 首先一个思路就是转换图, ...

  5. BZOJ2428:[HAOI2006]均分数据——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=2428 https://www.luogu.org/problemnew/show/P2503 已知 ...

  6. BZOJ2434:[NOI2011]阿狸的打字机——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=2434 https://www.luogu.org/problemnew/show/P2414 打字 ...

  7. Java第一次实验报告——Java开发环境的熟悉

    北京电子科技学院(BESTI) 实    验    报    告 课程名称:java程序设计实验      班级:1352         姓名:洪韶武      学号:20135219 成绩:   ...

  8. React生命周期的变化

    1.ES6语法的引入,砍掉了getDefaultProps和getInitialState getDefaultProps 使用 static default={}的方式代替getInitialSta ...

  9. RGB向yuv的转化最优算法,快得让你吃惊!

    朋友曾经给我推荐了一个有关代码优化的pdf文档<让你的软件飞起来>,看完之后,感受颇深.为了推广其,同时也为了自己加深印象,故将其总结为word文档.下面就是其的详细内容总结,希望能于己于 ...

  10. Codeforces Round #401 (Div. 2) A B C 水 贪心 dp

    A. Shell Game time limit per test 0.5 seconds memory limit per test 256 megabytes input standard inp ...