String zu Date kovertieren

kaesha

Neues Mitglied
Hallo ihr Lieben,

zu Anfang. Ich bin eine totale Anfängerin. Von daher stoße ich schnell an meine Grenzen.
Mein Problem ist, ich moechte Daten aus eine CSV Datei auslesen und diese dann in eine Datenbanktabelle eintragen. Ich habe das bisher so geloest das er Zeile fuer Zeile in ein String array einliest und dann Wort fuer Wort ausgibt. Soweit funktioniert das ja..wenn ich es mit System.out.println() ausgebe. zeigt er mir die daten auch an..das er sie gefunden hat und gibt sie auch aus wie sie in der CSV datei drin stehen. Nun moechte ich das er in dem String array, die datumsangaben auch als Format Date in die Datenbank eintraegt, aber ich weiss nicht wie das zu konvertieren ist, das es auch fuer SQL passend ist.
Ich poste einfach mal den ganzen Quelltext hier rein damit man mal einen kleinen ueberblick bekommt:
Java:
import java.sql.*;
import java.lang.*;
import java.text.*;

public class Datenbankverbindung
{
     private Connection con = null;
     private Statement stmt = null;
     private PreparedStatement prstmt = null;
     private Setup stp = null;
     private String username = null;
     private String password = null;
     private String db = null;
     
     Datenbankverbindung(String db, String username, String password)
     {
      try
      {
       this.db = db;
       this.username = username;
       this.password = password;
       con = DriverManager.getConnection(db, username, password);
           try
           {
            con.close();
           }
            catch (SQLException e)
            {
             System.out.println("Verbindungsfehler zur Datenbank: " + e.getMessage());
            }
            catch(Exception e)
            {
             System.out.println("Fehler beim Schliessen der Datenbank: " + e.getMessage());
            }
       }
       catch(SQLException e)
       {
        System.out.println("Verbindungsfehler zur Datenbank: " + e.getMessage());
       }

     }
     
 protected Datenbankverbindung()
 {

 }
  public void einfuegen(String[] array)
  {
   String Tabellenname = this.stp.getComboBoxText();
   boolean ersteZeile = true;
   try
   {
        if(ersteZeile)
        {
         ersteZeile = false;
         if(Tabellenname.equals("Kooperationsbetriebe"))
         {
          prstmt = this. con.prepareStatement("INSERT INTO " + Tabellenname + "("
                                                                            + "K_ID, "
                                                                            + "Firmenname, "
                                                                            + "Anrede, "
                                                                            + "Name, "
                                                                            + "Vorname, "
                                                                            + "Strasse, "
                                                                            + "PLZ, "
                                                                            + "Ort, "
                                                                            + "Telefon, "
                                                                            + "Fax, "
                                                                            + "Email, "
                                                                            + "Kooperationsstart, "
                                                                            + "Kooperationsende, "
                                                                            + "Datum ) "
                                                                            + "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");


         }
         else if(Tabellenname.equals("Verbundslehrlinge"))
         {
          prstmt = this. con.prepareStatement("INSERT INTO " + Tabellenname + "("
                                                                            + "V_ID, "
                                                                            + "Anrede, "
                                                                            + "Name, "
                                                                            + "Vorname, "
                                                                            + "Strasse, "
                                                                            + "PLZ, "
                                                                            + "Ort, "
                                                                            + "Geburtsdatum, "
                                                                            + "Staatsangehoerigkeit, "
                                                                            + "Telefon, "
                                                                            + "Email, "
                                                                            + "Ausbildungsbeginn, "
                                                                            + "geplantes_Ausbildungsende, "
                                                                            + "tatsaechliches_Ausbildungsende, "
                                                                            + "F_Beruf_ID, "
                                                                            + "F_A_ID, "
                                                                            + "Datum ) "
                                                                            + "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
         }
         else if(Tabellenname.equals("Ausbilder"))
         {
          prstmt = this. con.prepareStatement("INSERT INTO " + Tabellenname + "("
                                                                            + "A_ID, "
                                                                            + "Anrede, "
                                                                            + "Name, "
                                                                            + "Vorname, "
                                                                            + "Strasse, "
                                                                            + "PLZ, "
                                                                            + "Ort, "
                                                                            + "Telefon, "
                                                                            + "Fax, "
                                                                            + "Email, "
                                                                            + "F_Beruf_ID, "
                                                                            + "Datum ) "
                                                                            + "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
         }
         else if(Tabellenname.equals("Betriebszugehoerigkeit"))
         {
          prstmt = this. con.prepareStatement("INSERT INTO " + Tabellenname + "("
                                                                            + "F_V_ID, "
                                                                            + "F_K_ID, "
                                                                            + "Beginn, "
                                                                            + "geplantes_Ende, "
                                                                            + "tatsaechliches_Ende, "
                                                                            + "Datum ) "
                                                                            + "VALUES(?, ?, ?, ?, ?, ?)");
         }
         else if(Tabellenname.equals("Ausbildungsberufe"))
         {
          prstmt = this. con.prepareStatement("INSERT INTO " + Tabellenname + "("
                                                                            + "Beruf_ID, "
                                                                            + "Bezeichnung ) "
                                                                            + "VALUES(?, ?)");
         }
         else if(Tabellenname.equals("Anrede"))
         {
          prstmt = this. con.prepareStatement("INSERT INTO " + Tabellenname + "("
                                                                            + "Anrede_ID, "
                                                                            + "Bezeichnung ) "
                                                                            + "VALUES(?, ?)");
         }
         else
         {
          SimpleDateFormat sdf = new SimpleDateFormat("dd.mm.yyyy");
          java.util.Date date = null;
          java.sql.Date datum = null;
           if(Tabellenname.equals("Kooperationsbetriebe"))
           {
            this.prstmt.setInt(1, Integer.parseInt(array[0]));
            this.prstmt.setString(2, array[1]);
            this.prstmt.setString(3, array[2]);
            this.prstmt.setString(4, array[3]);
            this.prstmt.setString(5, array[4]);
            this.prstmt.setString(6, array[5]);
            this.prstmt.setInt(7, Integer.parseInt(array[6]));
            this.prstmt.setString(8, array[7]);
            this.prstmt.setString(9, array[8]);
            this.prstmt.setString(10, array[9]);
            date = sdf.parse(array[10]);
            datum = new Date(datum.getYear(), datum.getMonth(), datum.getDay());
            this.prstmt.setDate(11, datum);
            date = sdf.parse(array[11]);
            datum = new Date(datum.getYear(), datum.getMonth(), datum.getDay());
            this.prstmt.setDate(12, datum);
            date = sdf.parse(array[12]);
            datum = new Date(datum.getYear(), datum.getMonth(), datum.getDay());
            this.prstmt.setDate(13, datum);

           }
         }
        }
    }
    catch (SQLException e)
    {
     System.out.println("Es gab einen Fehler während der Ausführung der SQL Anweisung: " + e.getMessage());
    }
    catch (ParseException pe)
    {
      System.out.println("Die Umwandlung des Datums hat nicht funktioniert");
      pe.printStackTrace();
    }
   }
//
  
  public void schliesseStatement()
  {
   try
   {
    this.prstmt.close();
   }
   catch(Exception e)
   {

   }
  }
}

und eine Warnung die er immer ausgibt.
Datenbankverbindung.java:176:35: warning: [deprecation] getYear() in java.util.Date has been deprecated
datum = new Date(datum.getYear(), datum.getMonth(), datum.getDay());


hat wer zufaellig eine andere Methode das Datum zu kovertieren?
Ich hab da irgendwas gelesen mit Millisekunden heraus bekommen damit man den Konstruktor von Date nutzen kann, der nicht veraltet ist.

Vielen Dank
 
String -> Date :

Java:
private String formatDate(Date date) {
 SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
 String dateStr = format.format(date);
 return dateStr;
}

Date -> String :

Java:
private Date toDate(String dateStr) {
	SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
	Date date;
	try {
		date = format.parse(dateStr);
	} catch (ParseException e) {
		e.printStackTrace();
		return null;
	}
	return date;
}

Büddeschön 🙂

Hierbei ist darauf zu achten das SimpleDateFormat("yyyy.MM.dd"); bei beiden richtungen die gleichen params hat
 

Neue Themen


Zurück
Oben