在执行来自mus JDBC工作的结果集对象的查询时,我面临着巨大的问题。 请帮助
问题出现在此语句中 resultset = statement.executeQuery(query);
这给出了这个错误
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.4 unexpected end of statement: required: (
at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:218)
at DB.AuthorsManager.viewAuthor(AuthorsManager.java:26)
at UI.Client.main(Client.java:268)
Caused by: java.sql.SQLSyntaxErrorException: unexpected end of statement: required: (
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:216)
... 2 more
Caused by: org.hsqldb.HsqlException: unexpected end of statement: required: (
at org.hsqldb.error.Error.parseError(Unknown Source)
at org.hsqldb.ParserBase.unexpectedTokenRequire(Unknown Source)
at org.hsqldb.ParserBase.readThis(Unknown Source)
at org.hsqldb.ParserDQL.XreadTableFunctionDerivedTable(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)
... 5 more
这是Authors Manager类,其方法viewAuthor遇到错误
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class AuthorsManager {
public static void viewAuthor(){
int col1 = 0;
String col2=null;
DBConnect dbconnect = new DBConnect();
dbconnect.getconnection("this.accdb");
Statement statement = dbconnect.getStatement();
String query = "SELECT * from Table";
try {
ResultSet resultset=null;
resultset = statement.executeQuery(query);
col1 = resultset.getInt("id");
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
DBConnect.disconnect();
}
}
}
这是DBConnect类,它正在连接并将语句对象提供给AuthorsManager类
DBConnect类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DBConnect {
private static Connection connection = null;
private static Statement statement = null;
public static void getconnection(String path) {
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
connection = DriverManager.getconnection("jdbc:ucanaccess://" + path);
statement = connection.createStatement();
} catch (ClassnotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Statement getStatement() {
// TODO Auto-generated method stub
return statement;
}
public static void disconnect() {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}