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建立了一个连接,它成功并打印了表。但是,我尝试编写一个insert查询,该查询将把行输入到表中,这会给我带来错误。
UCAExc:4.0.4数据异常: net.ucanaccess.jdbc.UcanaccessPreparedStatement.setString(UcanaccessPreparedStatement.java:742)上强制转换的无效字符值
发布于 2019-03-15 19:31:21
查看java类中的第742行,查看它设置的字段,然后验证您正在传递一个字符串。发生强制转换异常的原因是将无效的数据类型传递到准备好的语句中,该语句期待基于架构的不同数据类型。如果必须添加一些调试来打印正在设置的每个对象值,并检查模式,以确保在准备语句中设置的java数据类型匹配起来。
"invalid character value for cast" error on INSERT via UCanAccess
https://stackoverflow.com/questions/55188813
复制相似问题