2016-07-18 16 views
-1

データベースにjDateChooserの日付を格納したいのですが、SQLの日付型の列があります。これは私が使用するコード:Stire JDateChooserデータベース内の日付

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) { } 

しかし、それは動作しません。

+0

試しsql.dateする日付チュー日付を変換するために、java.sql.Date DOB =新しい日付。 – c0der

答えて

0

キャストではなく、util.Dateをsql.Dateに変換します。 (。jDateChooser1 .getDate()getTime())のコメントを参照してください:

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私に失敗しますか? –

+0

どのようなエラーが報告されましたか? [MCVE]のインポートを含む完全なコードを投稿する – c0der

関連する問題