Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Datum abfragen (Ausnahme verhindern)


m-s - So 15.05.11 15:33
Titel: Datum abfragen (Ausnahme verhindern)
Hallo Zusammen.

ich möchte aus einer Datenbank (einem Datagrid) Felder Datumsfelder abfragen um damit zu rechnen.
Es steht aber nicht in jedem Feld etwas drin.

Diese Variante führt also zu einer Ausnahme, wenn das Feld leer ist.

C#-Quelltext
1:
a_pause1ende = Convert.ToDateTime(row.Cells["dataGridViewTextBoxColumn9"].Value);                    


Ich finde keinen Weg die Ausnahme zu verhindern. Ich dachte es müsste so gehen

C#-Quelltext
1:
if (row.Cells["dataGridViewTextBoxColumn9"].Value != null)                    

geht aber nicht. Da der Wert (auch wenn nicht vorhanden) anscheinend nicht null ist.

Wie ist es richtig?


Kha - So 15.05.11 15:36

user profile iconm-s hat folgendes geschrieben Zum zitierten Posting springen:
[...] anscheinend nicht null ist.
Raten ist nie eine gute Idee, das solltest du mit dem Debugger schon selbst nachprüfen ;) . Ich nehme an, es wird DBNull sein?


m-s - So 15.05.11 15:45

Danke, stimmt da steht DBNull.
Ich habe das zwar gesehen, aber gemäßg dem Motto, was ich nicht verstehe, sehe ich nicht, gleich mal ignoriert.
Wenn ich in die If Abfrage das DBNull statt des null schreibe geht es nicht. Wie lautet da die richtige Schreibweise?


Yogu - So 15.05.11 16:13

user profile iconm-s hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich in die If Abfrage das DBNull statt des null schreibe geht es nicht. Wie lautet da die richtige Schreibweise?

DBNull ist ja auch ein Typ, also kannst du ihn nicht einfach in einen Vergleich einbeziehen. Du musst prüfen, ob der Wert gleich DBNull.Value - laut Dokumentation der einzigen Instanz der Klasse - gleicht.


m-s - Mo 16.05.11 00:15

Ja danke, so gehts.