- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 UCanAccess 的新手,我正在使用它来代替将 Microsoft Office 从 32 位重新安装到 64 位或将 Netbeans 8.0.2 从 64 位重新安装到 32 位。
我正在运行一个简单的程序来连接到一个小型数据库并显示它的结果;但是我遇到了一个错误,即 Google 在我搜索时只有 5 个结果。
这是我的整个数据库类:
package highscoresproj;
import java.io.File;
import java.sql.*;
public class DB
{
private Connection connection;
private PreparedStatement statement;
private ResultSet resultSet;
public DB()
{
//load driver
try
{
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
System.out.println("Driver successfully loaded");
} catch (ClassNotFoundException c)
{
System.out.println("Unable to load driver\n" + c);
}
//connect to database
try
{
connection = DriverManager.getConnection("jdbc:ucanaccess://"+ getDatabaseLocation("HighScores.accdb")+ ";showschema=true");
System.out.println("Connection successful");
} catch (SQLException e)
{
System.out.println("Unable to connect\n" + e);
}
}
public ResultSet query(String stmt) throws SQLException
{
statement = connection.prepareStatement(stmt);
resultSet = statement.executeQuery();
return resultSet;
}
public void update(String update) throws SQLException
{
statement = connection.prepareStatement(update);
statement.executeUpdate();
statement.close();
}
public static String getDatabaseLocation(String relativePath)
{
File dbFile = new File(relativePath);
String path = dbFile.getAbsolutePath();
path = path.replaceAll("\\\\", "/");
System.out.println("DB Full path:\t" + path);
return path;
}
}
以及当我按下按钮显示最高分时运行的方法:
private void btnDisplayMaxActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
res = db.query("SELECT TOP Username, Score FROM tblUser INNER JOIN tblScores ON UserID = ID");
}
catch (SQLException ex)
{
System.out.println("An error occured. Error Message:\n" + ex);
}
}
当我运行程序并按下按钮时,我得到以下输出:
run:
Driver successfully loaded
DB Full path: C:/Users/Aaron/Documents/Somerset College/IT/Java Book/Excersises/P148 Ex5/HighScoresProj/HighScores.accdb
Connection successful
An error occured. Error Message:
net.ucanaccess.jdbc.UcanaccessSQLException: incompatible data type in operation: ; in LIMIT, OFFSET or FETCH
BUILD SUCCESSFUL (total time: 11 seconds)
如果这是一个非常简单的错误,请原谅我,但我找不到任何地方专门提到它。谢谢!
最佳答案
您的 SQL 语法无效。 SELECT TOP
希望被告知您想要返回的行数。如果您只想返回一行,请使用
SELECT TOP 1 Username, ...
关于java - UCanAccess 错误 - net.ucanaccess.jdbc.UcanaccessSQLException : incompatible data type in operation: ; in LIMIT, OFFSET 或 FETCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757712/
与之前关于“意外 token ”的问题相关 我收到以下错误 UCAExc:::3.0.3.1 unexpected token: $BRANDRAP 当我在 NB IDE 中运行下面
我是 UCanAccess 的新手,我正在使用它来代替将 Microsoft Office 从 32 位重新安装到 64 位或将 Netbeans 8.0.2 从 64 位重新安装到 32 位。 我正
我在让 ucanaccess 连接到我的数据库时遇到问题。在构建应用程序时,我在本地维护了数据库,可以通过在 URL 中传递本地文件路径来连接到它。我现在正尝试将其转移到网上,并尝试将 URL 更改为
我正在使用 Netbeans IDE 8.02 来操作 Access 数据库,但随着驱动程序的删除,我一直在与 UCanAccess 作斗争。我已经能够将数据插入数据库,并且能够从数据库接收数据,但是
我已经正确添加了所有必需的 JARS: Ucanaccess 3.0.4 commons-lang-2.6 commons-logging-1.1.1 hsqldbd jackcess-2.1.3 我
这个问题已经有答案了: invalid datetime format: insert date/time into Access from Java (1 个回答) 已关闭 7 年前。 conn =
我正在尝试使用 UCanAccess 将我的 Java 代码连接到 access 中的表这是我的代码: import java.sql.*; public class HH { public
我有一个问题。我使用这个查询: SELECT prodeje.datum, prodeje.prodejce, prodeje.pocet, prodeje.
这个问题在这里已经有了答案: SQL INSERT without specifying columns. What happens? (6 个答案) 关闭 7 年前。 我的程序总是将 Access
我的数据库中不断出现“找不到合适的驱动程序”,但我无法确定我的连接类出了什么问题?有什么帮助吗?我已放入所有 5 个 jar。我想连接到 Microsoft Access 数据库。 import ja
我有一个可用的 Java 项目,它使用 Access .accdb 数据库来存储数据。我正在为我的程序进行更新,以便为用户提供更多功能。为此,我需要在现有的充满数据的表中添加一列。当我研究时,我发现
我正在尝试进行一些 Ucanaccess 练习,以使用 java 管理某些数据库。我收到一个错误,但我不知道如何解决。 我在 Access 中有一个名为 USERS 的表: 自动编号、短文本、短文本、
我有一个非常有趣的问题,但我没能找到问题的根源。 我的公司最近更新到了较新版本的 Java,用于连接到 MS Access DB 的旧 ODBC 连接方法不再有效。所以我正在更新到新方法。 我发现 U
需要了解如何使用 UCanAccess,我可以在这些选择中使用分组依据。 String sql = "SELECT Route_To, BatchNo, BatchScOpr, BatchTrac
是否有其他方法可以在无限循环结束时正确关闭与 ms access 数据库的连接?因为如果将记录插入表中,则使用下面的代码我看不到插入的新行。看起来数据库没有正确关闭或其他什么...不知道为什么会这样。
我已经将我的应用程序设置为通过 UCanAccess 连接到 Access 数据库,但是我无法连接到位于共享驱动器上的数据库。请参阅下面的示例。 String databasePath = "jdbc
如何使用 jdbc 编写 sql 查询来创建对 2 列具有唯一约束的表:我尝试这段代码并给出“SQLException:无效的创建语句!”: Connection conn = ConnectDB.
大家下午好,我正在尝试将一些数据插入访问表,但由于主键违规而无法运行 import java.sql.Connection; import java.sql.DriverManager; import
我正在使用 ucanaccess 将 java 与 access 数据库连接。我使用此代码来计算查询中的行数: ResultSet rs = s.getResultSet(); int size; r
我使用 UCanAccess 创建了两个表,它们之间存在关系。但它并没有创造这种关系。为什么?怎么了?我该如何解决这个问题? statement.execute("CREATE TABLE examp
我是一名优秀的程序员,十分优秀!