关于Java的Access的SQL连接与查询(新手版)

前言

本文是Java与Access中连接的方法,也是第一次写,请各位多多指明文章中的错误,共同进步。

新建Access数据库(2007版,其他版本也大同小异)与表

(1)点击左上角图标选择-新建空白数据库 关于Java的Access的SQL连接与查询(新手版)
(2)右键单击选择设计视图会出现另存为给表起个名字(这里叫textle,注意一会SQL语句要用到)
关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)
(3)输入字段

关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)
(4)textle表中 输入数据
关于Java的Access的SQL连接与查询(新手版)## 配置本地数据库(ODBC)
首先打开 控制面板-管理工具-ODBC(32-bit)
(1)打开ODBC(32)关于Java的Access的SQL连接与查询(新手版)

(2)给数据源起个名字(url时要用到)
关于Java的Access的SQL连接与查询(新手版)
(3)选择数据库关于Java的Access的SQL连接与查询(新手版)

关于Java的Access的SQL连接与查询(新手版)
(6)一定要单击这三个确定 保存更改

新建Project 选择.jar(数据库驱动文件)

.jar包可以直接从网上下载(一直要下载Access版)

(1)打开IDEA软件 选择新建
关于Java的Access的SQL连接与查询(新手版)
(2)新建一个名字叫做lib文件夹
关于Java的Access的SQL连接与查询(新手版)
(3)这里为了方便直接将jar包复制粘贴到lib文件夹内
关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)
(4)打开IDEA 可以直接看到这个jar包(注意这个包现在是不能打开的 也就是无法使用)
关于Java的Access的SQL连接与查询(新手版)
(5)加载jar包 选择File-project Structure
关于Java的Access的SQL连接与查询(新手版)关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)
关于Java的Access的SQL连接与查询(新手版)

连接Access

新建类文件

关于Java的Access的SQL连接与查询(新手版)

在主方法内编写

public static void main(String[] args) {
try {
Class.forName( “org.hsqldb.jdbc.JDBCDriver” );//连接数据库
} catch (ClassNotFoundException e) {
System.out.println( e.getMessage() );
}
}

这里的Class.forName会出现异常 所以要用try抛出
如果未正常连接会给出错误并输出
里面的参数"org.hsqldb.jdbc.JDBCDriver"是jar包里的文件

关于如何找关于Java的Access的SQL连接与查询(新手版)

创建连接通道

public static void main(String[] args) {
String url=“jdbc:odbc:aabbcc”;
try {
Class.forName( “org.hsqldb.jdbc.JDBCDriver” );//连接数据库
Connection con = DriverManager.getConnection(url,"","");//创建用户通道验证数据库
} catch (ClassNotFoundException e) {
System.out.println( “连接错误”+e.getMessage());
}catch (SQLException e){
System.out.println( “验证错误”+e.getMessage() );
}
}

这里用 Connection con = DriverManager.getConnection(url," “,” ");
同样也是需要try 这里用SQlException e 如果出错会给出
“验证错误 + 错误信息”

关于里面的参数
第一个逗号内是url
连接数据库的地址 url=“jdbc:odbc:aabbcc”;
后面的“aabbcc“ 是上文中创建ODBC时取得名字(如果忘记请看上面的配置本地数据库)
第二个逗号内是数据库的账号名
如果没有创建账号则可以不写用双引号括起来,
第三个是密码 同上

运行测试

这里运行一下,未出现错误表示连接成功
关于Java的Access的SQL连接与查询(新手版)
这里吧url数据库打错 试试
关于Java的Access的SQL连接与查询(新手版)
可以看到 这里捕捉到了错误 !!!

读取数据库表(遍历)

public static void main(String[] args) {
String url=“jdbc:odbc:aabbcc”;
try {
Class.forName( “org.hsqldb.jdbc.JDBCDriver” );//连接数据库
Connection con = DriverManager.getConnection(url,"","");//创建用户通道验证数据库
Statement sta = con.createStatement();//创建用户通道
ResultSet rst = sta.executeQuery(“select * from textle”);//获取结果集
while(rst.next()){//遍历表
System.out.println( rst.getString(“id”));//输出字段
}
} catch (ClassNotFoundException e) {
System.out.println( “连接错误”+e.getMessage());
}catch (SQLException e){
System.out.println( “验证错误”+e.getMessage() );
}

ResultSet rst = sta.executeQuery(“select * from textle”);//获取结果集用于返回所有数据
sta.executeQuery(“select * from textle”);里面的参数 是SQL语句
select * //查询匹配所有字段
from textle //新建数据库时创建的表“textle”

while(rst.next()){//遍历表
System.out.println( rst.getString(“id”));//输出字段
}
关于这两个
while (rst.next())是循环数据
而rst.next是找数据库中下一个字段(从第一个开始) 当找到最后一个字段时为假 则推出
rst.getString(“id”)得到结果集的字符串数据 那是谁的字符串呢 就是“id”
System.out.println()是输出括号里的数据

可以看到运行成功并输出了数据
关于Java的Access的SQL连接与查询(新手版)
为什么会输出123呢 咱们换个字符串(name)试试
关于Java的Access的SQL连接与查询(新手版)
可以发现 我们已经可以遍历数据库的信息了
但是为什么只有一列呢 我们再看看这样写

关于Java的Access的SQL连接与查询(新手版)
是不是得到了 我们表中的所有信息
什么?格式看不懂? 那我们再这样写试试 ~
关于Java的Access的SQL连接与查询(新手版)
当然还有最后一步
当我们连接数据库时 要最后释放连接

rst.close();
con.close();
sta.close();

关于Java的Access的SQL连接与查询(新手版)

最后所有的main内的代码附上~

public static void main(String[] args) {
String url=“jdbc:odbc:aabbcc”;
try {
Class.forName( “org.hsqldb.jdbc.JDBCDriver” );//连接数据库
Connection con = DriverManager.getConnection(url,"","");//创建用户通道验证数据库
Statement sta = con.createStatement();//创建用户通道
ResultSet rst = sta.executeQuery(“select * from textle”);//获取结果集
while(rst.next()){//遍历表
System.out.println( rst.getString(“id”)+"\t"+rst.getString( “name” )+"\t"+rst.getString( “sex” )+"\t");//输出字段
}
rst.close();
con.close();
sta.close();
} catch (ClassNotFoundException e) {
System.out.println( “连接错误”+e.getMessage());
}catch (SQLException e){
System.out.println( “验证错误”+e.getMessage() );
}
}