tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
533
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Deletemaster
    Deletemaster Deletemaster ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Ort
    Berlin
    Beiträge
    269
    Hallo zusammen,

    ich nerve schon wieder wegen meines DatumUpdates:

    In meiner Tabelle sind einige Daten mit Geburtsdatum einige Ohne,
    das Anzeigen der Daten in beiden Fällen klappt.
    Allerdings bekomme ich, bei meinem Update (wenn das Feld txt_GeburtsDatum leer ist) die Fehlermeldung: "Die Zeichenfolge wurde nicht als gültiges DateTime erkannt"
    Wie muss ich hier vorgehen, um ein leeres Feld zu akzeptieren?
    Meine Funktion:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
            private void GeburtsDatum_Aktualisieren()
            {
                string str_VRN = txt_VRN.Text;
     
                string str_GeburtsDatum = txt_GeburtsDatum.Text;
                str_GeburtsDatum = Convert.ToDateTime(str_GeburtsDatum).ToShortDateString();
     
                SqlCommand cmd_GebUpdate = new SqlCommand();
                cmd_GebUpdate.Connection = conn;
                cmd_GebUpdate.Parameters.Add("@vrn", txt_VRN.Text);
                cmd_GebUpdate.Parameters.Add("@geburtsdatum", str_GeburtsDatum);
                cmd_GebUpdate.CommandText = "UPDATE <Tabelle> SET geburtsdatum = @geburtsdatum WHERE vrn = @vrn";
                cmd_GebUpdate.ExecuteNonQuery();
            }

    Habe versucht:
    IF TextBox leer DateTime _GeburtsDatum = DBNull
    Aber das funktioniert nicht so richtig, weil hier DBNull als Variable fungieren würde.

    Danke für Eure Hilfe
     

  2. #2
    Avatar von Deletemaster
    Deletemaster Deletemaster ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Ort
    Berlin
    Beiträge
    269
    Also ich hab jetzt schon überall nachgesehen aber keine Lösung gefunden.
    Wie muss ich in meinem Beispiel DBNull einsetzen, damit in die Tabelle NULL geschrieben wird und keine Fehlermeldung mehr bei einem leeren Textfeld erscheint?

    Danke für Eure Hilfe
     

  3. #3
    Avatar von Deletemaster
    Deletemaster Deletemaster ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Ort
    Berlin
    Beiträge
    269
    Ich habe eine einfache Lösung gefunden:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    private void GeburtsDatum_Aktualisieren()
    {
               string str_VRN = txt_VRN.Text;
     
               string str_GeburtsDatum = txt_GeburtsDatum.Text;
     
               if (txt_GeburtsDatum.Text == "")
               {
                   SqlCommand cmd_GebUpdate = new SqlCommand();
                   cmd_GebUpdate.Connection = conn;
     
                   cmd_GebUpdate.Parameters.Add("@vrn", txt_VRN.Text);
    txt_GeburtsDatum.Text);
     
                   cmd_GebUpdate.CommandText = "UPDATE <tabelle> SET geburtsdatum = null WHERE vrn = @vrn";
     
                    cmd_GebUpdate.ExecuteNonQuery();
                }
                else
                {
                    SqlCommand cmd_GebUpdate = new SqlCommand();
                    cmd_GebUpdate.Connection = conn;
     
                    cmd_GebUpdate.Parameters.Add("@vrn", txt_VRN.Text);
                    cmd_GebUpdate.Parameters.Add("@GeburtsDatum", txt_GeburtsDatum.Text);
     
                    cmd_GebUpdate.CommandText = "UPDATE <tabelle> SET geburtsdatum = @GeburtsDatum WHERE vrn = @vrn";
     
                    cmd_GebUpdate.ExecuteNonQuery();
     
                }
            }

    Bei dieser Variante wird keinerlei Typumwandlung vorgenommen, die mir immer immer als Stichwort gegeben wurde.
    Das Datum wird intern als DateTime in die Tabelle geschrieben

    Wenn jemand eine "vernünftigere" Lösung hat, BITTE mitteilen.

    Danke
     

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 21.07.10, 17:40
  2. Kein Zugang ohne gültiges Passwort ! Please Help
    Von Roma3 im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 14.05.08, 17:52
  3. string zu DateTime Convertieren für Update
    Von Deletemaster im Forum .NET Web und Kommunikation
    Antworten: 5
    Letzter Beitrag: 09.02.07, 14:22
  4. Update-Query auf Datetime. Wie?
    Von gondor im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 05.09.04, 19:58
  5. Kein gültiges Argument? Wieso?
    Von Nimroy im Forum PHP
    Antworten: 3
    Letzter Beitrag: 17.03.04, 21:49