[英]How to take backup of a single table in a MySQL database using Java swing?
[英]how to take an input of date using java swing text box and store in mysql database?
我想做的事 ?
我有一個類客戶,它有一個可變的 dob // 出生日期
我正在嘗試使用 java Swing 文本字段從用戶那里獲取輸入。
將其轉換為 java 日期,然后轉換為 java.sql.Date,以便我可以將其存儲在我的 MySQL 數據庫中。
這是 Customer 類的 setter 方法
public void setDOB(java.sql.Date dob)
{
DateOfBirth = dob;
}
這是我的 Swing 類(應用程序窗口加載器)的代碼
//Date
if(textField_5.getText().isEmpty())
lblerr.setVisible(true);
else
{
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");
Date dob = null;
dob = sdf.parse(textField_5.getText());
java.sql.Date sqlDate = new java.sql.Date(dob.getTime());
c1.setDOB(sqlDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
allinfoisentered = true;
}
textField_5 - 是用戶輸入日期的字段。
我使用以下不同的輸入測試了我的應用程序:
問題是:存儲在 MySQL 表中的值是 1992-12-27,我有一種強烈的感覺,這是某個默認日期。
我想知道,如何將字符串解析為 Date,然后將其發送到 MySQL 表。
(正如評論中所討論的......)
你有兩個問題:
更重要的是(IMO)您的錯誤處理不正確。 您正在使用此catch
塊:
catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
...這意味着即使解析失敗,您也將插入除日期之外的所有數據,日期不會被設置。 無論如何,您應該能夠從日志文件中獲取信息,但大概您沒有記錄System.err
,或者您沒有查看日志。
錯誤處理非常重要。 如果在解析數據時發生異常,我希望您根本不想插入記錄 - 相反,錯誤應該向上傳播堆棧,迫使您注意它,而不是丟失信息。 所以你可能想要這樣的東西:
catch (ParseException e) {
throw new DataValidationException(
"Error parsing date: " + textField_5.getText(), e);
}
(其中DataValidationException
只是一個DataValidationException
異常 - 您應該考慮要在應用程序中一致使用的內容。)
發生錯誤時,有兩件事至關重要:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.