Zitat: |
cmd.Parameters.AddWithValue("?heute", DateTime.Now.ToShortDateString()); |
Das sieht für mich so aus als würdest du das Datum als string speichern. Das wäre eine ganz schlechte Idee und dann kein Wunder mehr das es nicht geht.
DateTime.Now.ToShortDateString() ist von den lokalen Einstellungen abhängig und du bekommst halt einen anders formatierten string je nach Einstellung des lokalen System. Wenn man also ein Datum als string speichert ist das so wie du es machst maximal Zufall wenn es geht man muß schon beim lesen und schreiben ein eindeutig definiertes Format nehmen.
Am besten ein DateTime für die Spalte benutzen oder wenn es aus einem mir nicht nachvollziehbaren Grund ein string sein muß mußt du den string in einem sortierbaren Format speichern. Sortierbar heißt das Format so gewählt sein muss das jemand der die Spalte sortieren will (und das Sortierverfahren nur weiß das es ein beliebiger string ist) das auch passt wenn mann die Sonderbedeutung, dieser string ist ein Datum, das für ein Datum passende rauskommt. Also z.B.
DateTime.Now.ToString("yyyyMMdd"); Von mir aus auch mit irgendwelchen Trennzeichen.