hallo, ik heb een applicatie gemaakt maar ik begrijp niet hoe ik ervoor kan zorgen dat
bij dag: minimaal 3 moet worden ingevuld.
En bij maand februarie maximaal 30
hoe kan ik dit doen?
private void OpslaanButtonActionPerformed(java.awt.event.ActionEvent evt) {
try {
String patientNr = PatientNummerField.getText();
String voorNaam = VoornaamField.getText();
String achterNaam = AchternaamField.getText();
String woonplaats = WoonplaatsField.getText();
String geboorteDatum = GeboorteDatumField.getText();
// geboorteDatum = Integer.toString(dagSet) + "/" + Integer.toString(maandSet) + "/" + Integer.toString(jaarSet);
if ("".equals(patientNr)) {
Label_patient.setText(" er dient iets ingevuld te worden");
}
else if (Label_patient.getText().length() >= 8) {
Label_patient.setText(" er dient iets ingevuld te worden met minder dan 8 karakters");
}
// if (isValidDate(geboorteDatum) == true) {
PreparedStatement naamAdd = WielrennerFrame.conn.prepareStatement("INSERT INTO patient (patientnummer, voornaam, achternaam, woonplaats, geboortedatum) VALUES ( ?,?,?,?,? )");
naamAdd.setString(1, patientNr );
naamAdd.setString(2, voorNaam);
naamAdd.setString(3, achterNaam);
naamAdd.setString(4, woonplaats);
//naamAdd.setDate(5, toSqlDate(jaarSet, maandSet, dagSet));
naamAdd.setDate(5, toSqlDate(dagSet, maandSet, jaarSet));
naamAdd.executeUpdate();
System.out.println(geboorteDatum);
// }else {
// JOptionPane.showMessageDialog(null, "Niet bestaande datum");
// }
} catch (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) {
JOptionPane.showMessageDialog(null, "Deze patientNummer bestaat al in de database");
}
catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Database fout" + e.getMessage());
}
}
private java.sql.Date toSqlDate(int jaar, int maand, int dag) {
java.util.Calendar cal = java.util.Calendar.getInstance();
//Clear all fields
cal.clear();
cal.set(java.util.Calendar.YEAR, jaar);
cal.set(java.util.Calendar.MONTH, maand - 1); //start bij 0, januari is dus maand 0
cal.set(java.util.Calendar.DAY_OF_MONTH, dag);
//Create instance of java.sql.Date
java.sql.Date sqlDate = new java.sql.Date(cal.getTimeInMillis());
return sqlDate;
}
bij dag: minimaal 3 moet worden ingevuld.
En bij maand februarie maximaal 30
hoe kan ik dit doen?
private void OpslaanButtonActionPerformed(java.awt.event.ActionEvent evt) {
try {
String patientNr = PatientNummerField.getText();
String voorNaam = VoornaamField.getText();
String achterNaam = AchternaamField.getText();
String woonplaats = WoonplaatsField.getText();
String geboorteDatum = GeboorteDatumField.getText();
// geboorteDatum = Integer.toString(dagSet) + "/" + Integer.toString(maandSet) + "/" + Integer.toString(jaarSet);
if ("".equals(patientNr)) {
Label_patient.setText(" er dient iets ingevuld te worden");
}
else if (Label_patient.getText().length() >= 8) {
Label_patient.setText(" er dient iets ingevuld te worden met minder dan 8 karakters");
}
// if (isValidDate(geboorteDatum) == true) {
PreparedStatement naamAdd = WielrennerFrame.conn.prepareStatement("INSERT INTO patient (patientnummer, voornaam, achternaam, woonplaats, geboortedatum) VALUES ( ?,?,?,?,? )");
naamAdd.setString(1, patientNr );
naamAdd.setString(2, voorNaam);
naamAdd.setString(3, achterNaam);
naamAdd.setString(4, woonplaats);
//naamAdd.setDate(5, toSqlDate(jaarSet, maandSet, dagSet));
naamAdd.setDate(5, toSqlDate(dagSet, maandSet, jaarSet));
naamAdd.executeUpdate();
System.out.println(geboorteDatum);
// }else {
// JOptionPane.showMessageDialog(null, "Niet bestaande datum");
// }
} catch (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) {
JOptionPane.showMessageDialog(null, "Deze patientNummer bestaat al in de database");
}
catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Database fout" + e.getMessage());
}
}
private java.sql.Date toSqlDate(int jaar, int maand, int dag) {
java.util.Calendar cal = java.util.Calendar.getInstance();
//Clear all fields
cal.clear();
cal.set(java.util.Calendar.YEAR, jaar);
cal.set(java.util.Calendar.MONTH, maand - 1); //start bij 0, januari is dus maand 0
cal.set(java.util.Calendar.DAY_OF_MONTH, dag);
//Create instance of java.sql.Date
java.sql.Date sqlDate = new java.sql.Date(cal.getTimeInMillis());
return sqlDate;
}