[英]How do i handle an empty jXDatePicker?
I have a swing form which includes jXDatePicker to capture dates. 我有一个包含jXDatePicker的秋千形式来捕获日期。 When a date is not selected in the jXDatePicker an error is thrown when the trying to inserting the date into the database.
如果在jXDatePicker中未选择日期,则尝试将日期插入数据库时会引发错误。 Below is the error I am getting in Netbeans: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException.
以下是我在Netbeans中遇到的错误: 线程“ AWT-EventQueue-0” java.lang.NullPointerException中的异常。 Below is the code that is giving me errors:
以下是给我错误的代码:
String dateOpened, dateOfLastUpdate, dateOf1stDelinquency, dateOfLastPayment, dateClosed;
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
dateOpened = format.format(jXDatePicker7.getDate());
dateOfLastUpdate = format.format(jXDatePicker2.getDate());
dateOf1stDelinquency = format.format(jXDatePicker4.getDate());
dateOfLastPayment = format.format(jXDatePicker5.getDate());
dateClosed = format.format(jXDatePicker6.getDate());
String query2 = "insert into ACCOUNT (ACCOUNT_NUMBER,DATE_CLOSED ,DELINQUENCY_DATE, UPDATE_DATE,AMOUNT_OWING,"
+ "BALANCE,PAYMENT_HISTORY,ACCOUNT_STATUS,MONTHLY_PAYMENT,TERMS_DURATION,PRINCIPAL,CREDIT_LIMIT,"
+ "DATE_OPENED,PORTIFOLIO_TYPE,ACCOUNT_TYPE,NATIONAL_ID,COSIGNER_NATIONAL_ID)"
+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement preparedStatement2 = con.prepareStatement(query2);
preparedStatement2.setString(1, acc_no);
preparedStatement2.setString(2, dateClosed);
preparedStatement2.setString(3, dateOf1stDelinquency);
preparedStatement2.setString(4, dateOfLastUpdate);
preparedStatement2.setDouble(5, amount_owing);
preparedStatement2.setDouble(6, current_balance);
preparedStatement2.setString(7, payment_history);
preparedStatement2.setString(8, account_status);
preparedStatement2.setDouble(9, monthly_payment);
preparedStatement2.setDouble(10, terms_duration);
preparedStatement2.setDouble(11, principal);
preparedStatement2.setDouble(12, credit_limit);
preparedStatement2.setString(13, dateOpened);
preparedStatement2.setString(14, portfolio_type);
preparedStatement2.setString(15, acc_type);
preparedStatement2.setString(16, national_id);
preparedStatement2.setString(17, cosigner_national_id);
preparedStatement2.executeUpdate();
Some dates are not required and applicable on some instances, therefore the user cannot select a date under such circumstances. 某些日期不是必需的,并且在某些情况下适用,因此用户在这种情况下无法选择日期。
Check each individual JXDatePicker's date like jXDatePicker2.getDate()
for null. 检查每个单独的JXDatePicker的日期(例如
jXDatePicker2.getDate()
是否为null。 Do not call format.format if that date does happen to be null. 如果该日期确实为空,请不要调用format.format。 I get that exact same error you mentioned on the format.format line if the date is empty and enter is pushed.
如果日期为空并按回车键,则会收到与您在format.format行上提到的错误完全相同的错误。 Instead, go for some default time, like
new Date(0);
相反,请使用一些默认时间,例如
new Date(0);
meaning: 含义:
format.format(new Date(0));
Use following code and make sure that dateOpened column in database accept NULL values. 使用以下代码,并确保数据库中的dateOpened列接受NULL值。
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
if(jXDatePicker7.getDate() != null){
dateOpened = format.format(jXDatePicker7.getDate());
}else{
dateOpened = null;
}
If you don't want to insert NULL value then show error message as 如果您不想插入NULL值,则显示错误消息为
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
if(jXDatePicker7.getDate() != null){
dateOpened = format.format(jXDatePicker7.getDate());
}else{
//error
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.