我在几个查询中使用的textField.getText()有问题,所以在第二个查询中textField.getText()返回null值,不能保存在数据库中
这是我在我的Save_Button
中执行的代码if (evt.getSource() == btn_save_project) {
try{
Statement state = DBConnection.getInstance().createStatement();
String query1 = "insert into projet values(pro_sequence.nextval,"
+ " '"+txt_projet.getText()+"', (select id_mission from mission "
+ "where nom_mission = '"+txt_mission.getText()+"'))";
String query2 = "insert into date_etat values('"+txt_date.getText()+"')";
String query3 = "insert into etat_de_projet values((select "
+ "pro_sequence.currval from dual), (select id_etat from etat where "
+ "nom_etat = '"+cmb_etat.getSelectedItem().toString()+"', '"+txt_date.getText()+"'";
System.out.println(query1+"\n"+query2+"\n"+query3);
state.executeUpdate(query1);
state.executeUpdate(query2);
state.executeUpdate(query3);
}catch(Exception e){
e.printStackTrace();
}
}
当我执行时,它在控制台中显示以下内容
insert into projet values(pro_sequence.nextval, 'random', (select id_mission from mission where nom_mission = 'Maintenance'))
insert into date_etat values('')
insert into etat_de_projet values((select pro_sequence.currval from dual), (select id_etat from etat where nom_etat = 'Debut', ''
java.sql.SQLIntegrityConstraintViolationException: ORA-01400: impossible d'insérer NULL dans ("MYPROJECT"."DATE_ETAT"."ETAT_DATE")
最后一行告诉我们在date_etat
中插入空值是不可能的有什么帮助吗?