ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
533
533
EMPFEHLEN
-
07.03.07 18:35 #1
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
-
07.03.07 20:53 #2
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
-
08.03.07 22:24 #3
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
-
Problem mit Readdir (kein gültiges Verzeichnis)
Von _Sunny_ im Forum PHPAntworten: 12Letzter Beitrag: 21.07.10, 17:40 -
Kein Zugang ohne gültiges Passwort ! Please Help
Von Roma3 im Forum Visual Basic 6.0Antworten: 6Letzter Beitrag: 14.05.08, 17:52 -
string zu DateTime Convertieren für Update
Von Deletemaster im Forum .NET Web und KommunikationAntworten: 5Letzter Beitrag: 09.02.07, 14:22 -
Update-Query auf Datetime. Wie?
Von gondor im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 05.09.04, 19:58 -
Kein gültiges Argument? Wieso?
Von Nimroy im Forum PHPAntworten: 3Letzter Beitrag: 17.03.04, 21:49





Zitieren
Login





