2016-05-29 7 views
1

Я пытаюсь обновить запись в базе данных MS Access с помощью UCanAccess, но я получаю это сообщение, когда я пытаюсь сделать это:Java NoSuchMethodError: com.healthmarketscience.jackcess.Table.isAllowAutoNumberInsert()

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.5 java.lang.NoSuchMethodError: com.healthmarketscience.jackcess.Table.isAllowAutoNumberInsert()Z

Код:

public void saveBookInfo(){ 
    try {    
     Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); 
     Connection connectDb = DriverManager.getConnection("jdbc:ucanaccess://books.mdb");    

     String sql = "UPDATE bookInfo SET bookName=?, companyName=?, bossName=?, bossPosition=?, developerName=?, developerCompanyName=? WHERE bookId=?"; 

     PreparedStatement pstmt = connectDb.prepareStatement(sql2); 
     pstmt.setString(1, jTextField2.getText()); 
     pstmt.setString(2, jTextField3.getText()); 
     pstmt.setString(3, jTextField4.getText()); 
     pstmt.setString(4, jTextField5.getText()); 
     pstmt.setString(5, jTextField6.getText()); 
     pstmt.setString(6, jTextField7.getText()); 
     pstmt.setInt(7, currentBookId); 

     pstmt.executeUpdate(); 
     System.out.println("\nSuccess!"); 

     closeSC(pstmt, connectDb); 

    } catch (Exception ex) { 
     System.out.println("\nException (saveBookInfo): " + ex); 
    } 
} 

кто-нибудь знает, в чем проблема?

(УДАЛИТЬ запрос отлично работает)

+0

Где указано currentBookId? –

+0

@Tilak В классе MainWindow как «public static int currentBookId = 0;» – user3100568

+0

Убедитесь, что вы используете Jackcess версии 2.1.3 с вашим проектом. Обратите внимание, что «jackcess-2.1.3.jar» доступен в папке 'lib \ 'дистрибутива UCanAccess. –

ответ

1

Ответил Горд Томпсон:

«Убедитесь, что вы используете Jackcess версии 2.1.3 с проектом Обратите внимание, что. "Jackcess-2.1.3.jar" является доступный в папке lib дистрибутива UCanAccess. "

Смежные вопросы