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);
このコードはデータベースに接続していますが、属性を挿入するときは、上記のエラーが発生します。整合性制約違反:NOT NULL検査制約
このデータベースは2つのクラスで使用されています。最初のクラスはClassName列にクラス名を挿入します。そして、Add属性ボタンをクリックして上記のクラスを開きます。これに属性を挿入して「追加」ボタンを押すと、次のエラーが表示されます。
net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc ::: 3.0.7整合性制約違反:NOT NULL検査制約。 SYS_CT_10359テーブル:TABLE1カラム:CLASSNAME
を持っている場合
また、確認してください。クラス名の列はNULL – Drew
ですが、クラス名の列はnullではありません。最初にクラス名を入力してから属性を入力します。 データベースのクラス名列にクラス名が表示されています。そのヌル –
どこが私の友人を示していますか:p – Drew