2016-07-18 11 views
-1

I jDateChooser Datum in einer Datenbank gespeichert werden soll, wo ich eine Spalte von SQL-Datum Typ. Dies ist der Code, den ich verwende:stire JDateChooser Datum in einer Datenbank

try{ 
     String f_name = qq.getText(); 
     String l_name= jTextField2.getText(); 
     String add1 =jTextField4.getText(); 
     String add2 =jTextField5.getText(); 
     String add3 =jTextField6.getText(); 
     String add4 =jComboBox1.getSelectedItem().toString(); 
     String add= add1+","+add2+","+add3+","+add4+"."; 
     java.util.Date dob= jDateChooser1.getDate(); 
     String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 "; 
     String username = "mali"; 
     String password = "12345"; 
     Connection con =DriverManager.getConnection(url,username,password); 
     Statement st = con.createStatement(); 

     PreparedStatement pre = con.prepareStatement ("INSERT INTO employee_reg(firstname,lastname,full_address,dateofbirth)VALUES(?,?,?,?)"); 
     pre.setString(1,f_name); 
     pre.setString(2,l_name); 
     pre.setString(3,add); 
     pre.setDate(4, (Date) dob); 
     pre.executeUpdate(); 

     pre.close(); 
     con.close();   
    } 
    catch(Exception en) { } 

Aber es funktioniert nicht.

+0

das Datum-chooser Datum zu konvertieren versuchen zu sql.date: java.sql.Date dob = new Date (. JDateChooser1 .getDate() getTime()); – c0der

Antwort

0

Konvertieren Sie util.Date in sql.Date anstelle von Casting. Siehe Anmerkungen:

try{ 
     String f_name = qq.getText(); 
     String l_name= jTextField2.getText(); 
     String add1 =jTextField4.getText(); 
     String add2 =jTextField5.getText(); 
     String add3 =jTextField6.getText(); 
     String add4 =jComboBox1.getSelectedItem().toString(); 
     String add= add1+","+add2+","+add3+","+add4+"."; 
     //convert java.uti.Date to java.sql.Date by: 
     java.sql.Date dob= new java.sql.Date(jDateChooser1.getDate().getTime); 
     String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 "; 
     String username = "mali"; 
     String password = "12345"; 
     Connection con =DriverManager.getConnection(url,username,password); 
     Statement st = con.createStatement(); 

     PreparedStatement pre = con.prepareStatement ("INSERT INTO employee_reg(firstname,lastname,full_address,dateofbirth)VALUES(?,?,?,?)"); 
     pre.setString(1,f_name); 
     pre.setString(2,l_name); 
     pre.setString(3,add); 
     //no need to cast 
     pre.setDate(4, dob); 
     pre.executeUpdate(); 

     pre.close(); 
     con.close(); 
    } 
    catch(Exception en) {} 
+0

.getTime gibt mir einen Fehler? –

+0

Welcher Fehler? Posten Sie einen [MCVE] einen vollständigen Code einschließlich der Importe – c0der