Попытка создать простое приложение с базой данных - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь создать приложение только для сохранения записей и удаления их. Я впервые использую Java и базу данных, когда я сохраняю файл, он работает нормально, но когда я пытаюсь удалить, у меня появляется ошибка:

Comparisons between 'LONG VARCHAR (UCS_BASIC)' and 
    'LONG VARCHAR (UCS_BASIC)' are not supported.

private void SaveBtnActionPerformed(java.awt.event.ActionEvent evt) {
    try{
        conn = DriverManager.getConnection("jdbc:derby://localhost:1527/Test", "app", "testcode");
        st = (Statement) conn.createStatement();
        String sql = "INSERT INTO APP.UNTI(ID,NAME) VALUES(?,?)";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setString(1, J1.getText().trim());
        ps.setString(2, J2.getText().trim());
        if(ps.executeUpdate()>0){
            JOptionPane.showMessageDialog(null, "insert succusful");
        }
    }catch(SQLException xmp){
       System.out.println("error");
    }
}                                       

private void RemoveBtnActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
      try{
        conn = DriverManager.getConnection("jdbc:derby://localhost:1527/Test", "app", "testcode");
        st = (Statement) conn.createStatement();            
        PreparedStatement ps = conn.prepareStatement("DELETE FROM UNTI WHERE NAME = ? ");
        System.out.println("ok");
        ps.setString(1,J2.getText().trim());           
        if(ps.executeUpdate() > 0){
            JOptionPane.showMessageDialog(null, "insert succusful");
        }
    }catch(SQLException xmp){
       System.out.println(xmp.getMessage()  );
    }catch(NullPointerException xmp){
        System.out.println(xmp.getMessage()  );
    }

}     

1 Ответ

0 голосов
/ 17 октября 2018

Вы не можете сравнивать длинные varchar, так же как вы не можете их индексировать.

Документация по сравнительной таблице

Изображение взято из документации (ссылка предоставлена), обратите внимание, что длинный varchar нельзя сравнить с длинным varchar.

Comparison table

Проблема с дерби по этому поводу уже зарегистрирована

Предложение:

Я предлагаю использовать varchar илиCLOB вместо длинного varchar, в зависимости от ваших данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...