2014-10-04 6 views
-1

У меня есть ошибка с использованием uCanaccess для извлечения моей базы данных, которую я сохранил на своем рабочем столе.Ошибка Java - net.ucanaccess.jdbc.UcanaccessSQLException: неправильная строка: '

Мой код ниже:

package Week11Package; 

импорт java.util.Scanner; import 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

+1

Пожалуйста, разместите полную трассировку стека. У вас также есть цитата (') в конце строки 'sqlQuery', разве это не проблема? –

+1

Как сказал Седрик, цитата в конце вашего sqlQuery неверна, и в результате вы получите сообщение «неверная строка». – jamadei

ответ

3

Ну, во-первых, импортировать библиотеки (файлы .jar в папку Lib). http://sourceforge.net/projects/ucanaccess/files/UCanAccess-2.0.9.1-bin.zip/download

Тогда проверьте это. Это может помочь.

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!!!"); 
} 
Смежные вопросы