Ошибка «Недопустимое значение символа для приведения» при вставке данных в таблицу.Джава - PullRequest
0 голосов
/ 15 марта 2019
try {               
                    Connection conn=DriverManager.getConnection("jdbc:ucanaccess://E:\\testing.accdb");
                    String sql="insert into Books (Book_ID,Book_Name,Subject_ID,Author) values (?,?,?,?) ";
                    PreparedStatement pst=conn.prepareStatement(sql);
                    pst.setString(1, textField_BN.getText());
                    pst.setString(2, textField_SID.getText());
                    pst.setString(3, textField_BID.getText());
                    pst.setString(4, textField_A.getText());
                    pst.executeUpdate();

                    JOptionPane.showMessageDialog(null, "Data Saved");

                } catch (Exception e) {
                    e.printStackTrace();
                }

Я установил соединение с помощью Ucanaccess, оно успешно и печатает таблицы.Однако я попытался написать запрос на вставку, который бы вводил строки в таблицу, из-за которой выдается ошибка

UCAExc ::: 4.0.4 исключение данных: недопустимое значение символа для преобразования в net.ucanaccess.jdbc.UcanaccessPreparedStatement.setString (UcanaccessPreparedStatement.java:742)

1 Ответ

0 голосов
/ 15 марта 2019

Посмотрите на строку 742 в вашем Java-классе, посмотрите, какое поле он устанавливает, и затем подтвердите, что вы передаете строку.исключение приведения происходит из-за того, что недопустимый тип данных передается в подготовленный оператор, который ожидает другой тип данных в зависимости от вашей схемы.Если вам нужно добавить некоторую отладку для печати значений каждого значения объекта, которое вы устанавливаете, а также проверьте свою схему, чтобы убедиться, что ваши типы данных java, установленные в подготовленном операторе, совпадают.

ошибка "недопустимое значение символа для приведения" при вставке через UCanAccess

...