代码如下:

package com.accord;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Testes {
	public static void main(String[] args) throws Exception {

		Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");// 这个驱动的地址不要改
		// Connection
		// con=DriverManager.getConnection("jdbc:ucanaccess://D:\\Database3.mdb","123456","123456");
		//Connection con = DriverManager.getConnection("jdbc:ucanaccess://D:\\add.mdb","test0011","test0011");
		Connection con = DriverManager.getConnection("jdbc:ucanaccess://D:\\test.mdb","test0011","test0011");
		//Connection con = DriverManager.getConnection("jdbc:ucanaccess://src/config/system.mdb","test0011","test0011");
		
		Statement stmt = con.createStatement();

		// 查找数据
		//ResultSet rs = stmt.executeQuery("select fip from t_sys_dj ");
		//ResultSet rs = stmt.executeQuery("select distinct FGROUP from t_sys_dj ");
		//ResultSet rs = stmt.executeQuery("select distinct username from test ");
		//ResultSet rs = stmt.executeQuery("select DISTINCT FGROUP from T_SY_DJ ");
		ResultSet rs = stmt.executeQuery("select DISTINCT FGROUP from T_SYS_DJ ");

		while (rs.next()) {
			System.out.println(rs.getString("FGROUP"));
		}

		// 添加数据
		/*if (stmt.executeUpdate("insert into test(username) values('李四')") > 0) {
			System.out.println("添加成功!!!");
		} else {
			System.out.println("添加失败!!!");
		}*/
		//修改
		/*if (stmt.executeUpdate("update test set username = '李思思' where id = 3 ") > 0) {
			System.out.println("修改成功!!!");
		} else {
			System.out.println("修改失败!!!");
		}*/
		//删除
		/*if (stmt.executeUpdate("delete from test where id = 3 ") > 0) {
			System.out.println("删除成功!!!");
		} else {
			System.out.println("删除失败!!!");
		}*/
	}
}

报错如下:

Exception in thread "main" net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.0 user lacks privilege or object not found: T_SYS_DJ
	at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:210)
	at com.accord.Testes.main(Testes.java:25)
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: T_SYS_DJ
	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
	at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source)
	at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:208)
	... 1 more
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: T_SYS_DJ
	at org.hsqldb.error.Error.error(Unknown Source)
	at org.hsqldb.error.Error.error(Unknown Source)
	at org.hsqldb.SchemaManager.getTable(Unknown Source)
	at org.hsqldb.ParserDQL.readTableName(Unknown Source)
	at org.hsqldb.ParserDQL.readTableOrSubquery(Unknown Source)
	at org.hsqldb.ParserDQL.XreadTableReference(Unknown Source)
	at org.hsqldb.ParserDQL.XreadFromClause(Unknown Source)
	at org.hsqldb.ParserDQL.XreadTableExpression(Unknown Source)
	at org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source)
	at org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source)
	at org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source)
	at org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source)
	at org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source)
	at org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source)
	at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
	at org.hsqldb.ParserCommand.compilePart(Unknown Source)
	at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
	at org.hsqldb.Session.executeDirectStatement(Unknown Source)
	at org.hsqldb.Session.execute(Unknown Source)
	... 4 more

.mdb文件截图如下:


报错原因及解决方法:

最好代码中的表名和字段名的大小与.mdb中大小写一致!防止不必要的错误!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐