Leerer Datensatz
-
Mahlzeit!
Ich mache eine SQL-Abfrage auf eine Access97-Datenbank. Danach will ich mit einem Element in einem Edit-Feld anzeigen lassen. Klappt auch eigentlich.
Jetzt kann es aber vorkommen, dass das Element (Typ: double) nicht in der Datenbank vorhanden ist. Bis jetzt zeigt er mir dann immer einen komischen Zahlenwert an. Wie kann ich dem sagen, dass er eine 0 schreiben sol, wenn das Element nicht vorhanden ist?
Ich habs bisher u.A. so probiert:
db.Open("C:\\Database.mdb"); UpdateData(TRUE); CTabelleMain tm; tm.Open(AFX_DAO_USE_DEFAULT_TYPE, "SELECT * FROM Tabelle WHERE User_Name = '" + m_User_Name + "' AND Projekt_ID = '" + m_Projekt1 + "' ",0); if(tm.m_Dauer = NULL) { m_Editfeld = 0; } else m_Editfeld = tm.m_Dauer;Da schreibt der dann auch ganz brav eine 0 rein, wenn das Element nicht vorhanden ist. Aber leider macht der das jetzt auch, wenn das Element vorhanden ist - also immer!
Wie kann ich das so ändern, dass ein vorhandenes Element angezeigt wird und wenn das Element nicht vorhanden ist eine 0?
Danke für die Hilfe!

-
Das ist eine Zuweisung...

if(tm.m_Dauer = NULL)
-
Auch bei
if(tm.m_Dauer == NULL)macht er das oben beschriebene...
Oder versuch ich das irgendwas was so nicht gehen kann?

-
Wenn double-Datenfelder leer sind, steht im RecordSet oft sowas wie 1.234567 hoch minus Tausend oder etwas ähnliches. Ich weiss ja nicht, welche Werte bei dir möglich sind, aber du könntest z.B. auf if(tm.m_Dauer < 0.00000001) überprüfen oder vorher einfach ein SQL-Statement abschicken, dass alle leeren Datenfelder auf 0.0 setzt (Performance-Frage...).
-
Der Versuch mit dem < 0.00000001 hat geklappt!Danke schön!
