Как я могу установить Dateformat дд / мм / гггг, используя jDATECHOOSER
Я пытаюсь получить / установить следующий формат даты в базу данных (MySQL) дд / мм / гггг.
В БД столбец "Geburt" установлен как DATE и уже известно, что стандартным форматом от MySQL является yyyy/MM/dd.
Кроме того, я использую jDateChooser для выбора, вставки и обновления данных.
Теперь это выглядит так:
private void wiwTextFocusLost(java.awt.event.FocusEvent evt) {
String userId = wiwText.getText();
try {
String sql = "SELECT * FROM TBL_TEILNEHMER WHERE WIW= ?";
S**tring dateValue = rs.getString("Geburt"); // What ever column
java.util.Date date = new SimpleDateFormat("dd-MM-yyyy").parse(dateValue);** //I added this here from a example I saw here
pst = conn.prepareStatement(sql);
pst.setString(1,userId);
rs = pst.executeQuery();
if(rs.next()) {
nameText.setText(rs.getString("Name"));
vornameText.setText(rs.getString("Vorname"));
geburtChooser.setDate(date);
mailText.setText(rs.getString("Mail"));
telText.setText(rs.getString("Telefon"));
reText.setText(rs.getString("re"));
dcText.setText(rs.getString("dc"));
emeaText.setText(rs.getString("emea"));
assetText.setText(rs.getString("assetid"));
modellCombo.setSelectedItem(rs.getString("Model"));
herstellerText.setText(rs.getString("hersteller"));
strasseText.setText(rs.getString("strasse"));
nummerText.setText(rs.getString("nummers"));
stadtText.setText(rs.getString("stadt"));
privatnummerText.setText(rs.getString("privatnummer"));
privatmailText.setText(rs.getString("privatmail"));
handyText.setText(rs.getString("handy"));
whatsCombo.setSelectedItem(rs.getString("whats"));
skypeText.setText(rs.getString("skype"));
rs = pst.executeQuery();
}else{
rs.close();
pst.close();
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
} catch (ParseException ex) {
Logger.getLogger(Benutzer.class.getName()).log(Level.SEVERE, null, ex);
}
}
Я пытался найти ответ здесь и на StackOverFlow из Бразилии, но не нашел.
С помощью этого метода я пытался обновить данные, которые я получил в выбор. Ни один из двух способов не сработал.
private void bearbeitenActionPerformed(java.awt.event.ActionEvent evt) {
try{
String sql = "UPDATE TBL_TEILNEHMER SET NAME=?, VORNAME=?, GEBURT=?, MAIL=?, TELEFON=?, RE=?, DC=?, EMEA=?, ASSETID=?, MODEL=?, HERSTELLER=?, "
+ "STRASSE=?, NUMMERS=?, STADT=?, PRIVATNUMMER=?, PRIVATMAIL=?, HANDY=?, WHATS=?, SKYPE=? WHERE WIW='"+wiwText.getText()+"'";
pst = conn.prepareStatement(sql);
pst.setString(1, nameText.getText());
pst.setString(2, vornameText.getText());
pst.setString(3, geburtChooser.getDate().toString());
pst.setString(4, mailText.getText());
pst.setString(5, telText.getText());
pst.setString(6, reText.getText());
pst.setString(7, dcText.getText());
pst.setString(8, emeaText.getText());
pst.setString(9, assetText.getText());
pst.setString(10, modellCombo.getSelectedItem().toString());
pst.setString(11, herstellerText.getText());
pst.setString(12, strasseText.getText());
pst.setString(13, nummerText.getText());
pst.setString(14, stadtText.getText());
pst.setString(15, privatnummerText.getText());
pst.setString(16, privatmailText.getText());
pst.setString(17, handyText.getText());
pst.setString(18, whatsCombo.getSelectedItem().toString());
pst.setString(19, skypeText.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Benutzerdaten wurden bearbeitet.");
}catch(SQLException e){
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
Может ли кто-нибудь помочь мне?
Моя проблема в основном, я не могу преобразовать формат из MySQL в формат datechooser, хотя я уже изменил формат в datechooser на yyyy.MM.dd...
Я делаю что-то действительно неправильно. Я пробовал много способов, и ничего не получалось. Также пытался изменить Date Format в MySQL ... ничего не достиг.
БЛАГОДАРЮ ВАС!
1 ответ
Я нашел решение!
pst.setString(4,((JTextField)geburtChooser.getDateEditor().getUiComponent()).getText());
Теперь это работает!