Mehrere Fälle in einem case

Da verstehe ich das Problem nicht ganz. Wenn du mit Hilfe des Date-Members immer dafür sorgst, dass die Uhrzeit "00:00:00" ist, sollte das doch beim Vergleichen kein Problem sein?

Gruß
MCoder
 
Naja, du hast ja String-Werte in der Datenbank...
Code:
DateTime date = DateTime.parse("17.02.1983");
DateTime.ToString("dd.MM.yyyy").ToString("dd.MM.yyyy");
Der To-String-Befehl würde dir wieder einen String im Stil von 17.02.1983 ausgeben. Guck dir dazu mal die Format-Strings auf der MSDN-Seite an. ;)
Damit kannst du dann auch in der Datenbank vergleichen.
 
Hallo,

das dachte ich auch, weil im INSERT in die Datenbank schneidet er die 00:00:00 Uhrzeit auch ab.
Aber in der WHERE Klausel beim UPDATE der Tabelle scheinbar nicht, aufjedenfall stürzt er mir immer mit der Meldung:

"Datentypen in Kriterienausdruck unverträglich"

Das heißt für mich irgendwie das es nicht zusammenpasst.
 
Hallo,

der Datenbanktyp ist "Datum/Uhrzeit", nicht "Text". Handelt sich übrigens um eine MS Access Datenbank.
Das heißt wenn ich in C# das DateTime in String konvertiere knallts beim UPDATE der DB genauso, weil "Datum/Uhrzeit" der DB nicht mit dem String zusammenpassen. Ich fasse also zusammen:

Ein String aus C# geht nicht weils vom Typ nicht mit "Datum/Uhrzeit" der Datenbank zusammenpasst.
Das DateTime Objekt aus C# geht auch nicht, weil da noch die Uhrzeit dranhängt (auch wenn sie nur 00:00:00 ist) und das passt der Datenbank auch nicht.

Ich habe jetzt eine andere Lösung gefunden das ich das DateTime Objekt in einen String wandle und diesen dann im UPDATE Befehl für die Datenbank künstlich wieder auf einen "Datum/Uhrzeit" Typ umbiege mit dem die Datenbank was anfangen kann:

string date = today.ToShortDateString();
string updateStatement = "UPDATE ZE SET Gehen = '" + today.TimeOfDay + "' WHERE ZE.Datum = #" + date.Substring(0, 2) + "/" + date.Substring(3, 2) + "/" + date.Substring(6, 4) + "#";


Funktioniert zwar, finde ich aber alles andere als schön. Verstehe nicht wieso es in .NET keine reinen Date Typ gibt :(
 
Hi

Dann bau deinen Statement nicht so zusammen sonder erstelle eins mit Parametern.
Diese kannst du dann über die Command-Klasse dann füllen und sie übernimmt auch die entsprechende Formatierung!
 

Neue Beiträge

Zurück