Java错误-net.ucanaccess.jdbc.UcanaccessSQLException:格式错误的字符串:';
我使用uCanaccess检索保存在桌面上的数据库时出错 我的代码如下:Java错误-net.ucanaccess.jdbc.UcanaccessSQLException:格式错误的字符串:';,java,eclipse,osx-yosemite,ucanaccess,Java,Eclipse,Osx Yosemite,Ucanaccess,我使用uCanaccess检索保存在桌面上的数据库时出错 我的代码如下: package Week11Package; 导入java.util.Scanner; 导入java.sql.* 公共类dbTest1{ static Scanner input = new Scanner (System.in); static String url; static Connection aConnection; static Statement aStatement; static boolean g
package Week11Package;
导入java.util.Scanner;
导入java.sql.*
公共类dbTest1{
static Scanner input = new Scanner (System.in);
static String url;
static Connection aConnection;
static Statement aStatement;
static boolean gotIt = false;
public static void main(String[] args) {
dbTest1.initialize();
}
public static void initialize() {
//establish the DB connection.
url = "jdbc:odbc:MS Access Database;DBQ=.//Teams.accdb";
try {
//load the jdbc - odbc bridge for Windows
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
//create a connection instance
aConnection = DriverManager.getConnection("jdbc:ucanaccess:///Users/Vince/Desktop/Teams.accdb");
//create statement object instance for this connection
aStatement = aConnection.createStatement();
String sqlQuery = "SELECT PlayerID, PlayerName, TeamID " +
"FROM PLAYER"+"'";
ResultSet rs = aStatement.executeQuery (sqlQuery);
gotIt = rs.next();
if (gotIt) {
System.out.println("Connected to DB & found Data!!!");
System.out.println("Which Player ID are you looking for?");
String stringpID = input.next();
boolean found = false;
while(gotIt){
//extract the data
String pID = rs.getString (1);
if (pID.equals(stringpID))
found = true;
String pName = rs.getString (2);
String tID = rs.getString (3);
System.out.println(pID+" " +pName+ " "+tID);
gotIt = rs.next();
}
if (found)
System.out.println("The player ws found");
}
aStatement.close();
aConnection.close();
}
catch (ClassNotFoundException e) {
System.err.println(e);
}
catch (SQLException e) {
System.err.println(e);
}
}
}
如果您能给我一些建议来纠正这个错误,我将不胜感激
谢谢,
Vince首先,导入您的库(lib文件夹中的jar文件) 那么看看这个。这可能会有帮助
Connection a = DriverManager.getConnection("jdbc:ucanaccess://C:\\Users\\Vince\\Desktop\\Teams.accdb");
Statement s = a.createStatement();
String sqlQuery = "SELECT PlayerID, PlayerName, TeamID " + "FROM PLAYER"+"'";
ResultSet rs = s.executeQuery(sqlQuery);
while(rs.next()){
System.out.println("Connected to DB & found Data!!!");
}
请发布完整的堆栈跟踪。您的
sqlQuery
字符串末尾还有一个引号('),这不是问题吗?正如Cédric所说,sqlQuery末尾的引号是不正确的,因此您会收到一条消息“格式错误的字符串”