【发布时间】:2017-03-01 09:02:31
【问题描述】:
ResultSet rs;
PreparedStatement ps;
Connection con;
public Attribute() {
try{
con = DriverManager.getConnection("jdbc:ucanaccess://D:/programming/myassignment/Database1.accdb");
System.out.println("Java is now connected to database");
}catch(Exception ex){
System.out.println(ex);
}
JButton btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("insert into table1(Attributes) values(?)");
pstmt.setString(1, textField.getText());
pstmt.executeUpdate();
pstmt.close();
}catch (Exception ex){
System.out.println(ex);
}
}
});
btnAdd.setBounds(152, 203, 89, 23);
contentPane.add(btnAdd);
这段代码正在连接到数据库,但是每当我插入一个属性时,它就会出现上述错误。
这个数据库被两个类使用。第一个类将类名插入到 ClassName 列中,然后我将单击添加属性按钮以打开上述类。当我在其中插入属性并按“添加”按钮时,会出现以下错误:
net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::3.0.7 完整性约束违规:NOT NULL 检查约束; SYS_CT_10359 表:TABLE1 列:CLASSNAME
【问题讨论】:
-
错误信息对我来说很明显。类名列正在获取 NULL
-
是的,但类名列不为空。首先我输入类名,然后输入属性。数据库中的类名列显示类名。它不为空
-
我朋友看到的那个在哪里:p
-
我删除了
mysql标签。不确定使用 ms-access 在这里做什么
标签: java swing ms-access ucanaccess