codice:
private void pushButtonInserisciAction(ActionEvent event) throws SQLException, ParseException {
String data;
String giorno;
String mese;
String anno;
int id_partita = 0;
int new_partita;
try {
Statement statement = conn.createStatement();
ResultSet rset = statement.executeQuery( "select MAX(ID_PARTITA) from PARTITA" );
while ( rset.next() )
id_partita = rset.getInt(1);
rset.close();
new_partita = id_partita+1;
PreparedStatement inserisciPartita = null;
String query = "INSERT INTO PARTITA VALUES (?,?)";
giorno = giorniList.getSelectedItem().toString();
mese = (String)mesiList.getSelectedItem().toString();
anno = anniList.getSelectedItem().toString();
data = anno+"-"+mese+"-"+giorno;
DateFormat sdf = new SimpleDateFormat("yyyy-MMM-dd");
java.util.Date choise = sdf.parse(data.toString());
//System.out.print("Data scelta: " + choise);
//System.out.print("Id partita da inserire: " + new_partita);
inserisciPartita.setInt(1, new_partita);
inserisciPartita.setDate(2, (Date)choise);
JOptionPane.showMessageDialog(this,
"Partita inserita correttamente!",
"Information",
JOptionPane.INFORMATION_MESSAGE);
} catch ( SQLException e) {
JOptionPane.showMessageDialog(this,
"Errore nell'inserimento della partita! Verifica la connessione al db o chiedi all'amministratore!",
"Errore",
JOptionPane.ERROR_MESSAGE);
}
}
Il problema è chiaramente dato dalla seguente stringa:
codice:
inserisciPartita.setDate(2, (Date)choise);
Per inserire una nuova partita nel db, la query dovrebbe essere così:
codice:
INSERT INTO PARTITA VALUES ( 3, "21-Nov-2012");
Evidemente non ho quel tipo di formattazione, come risolvo?