Announcement

Collapse
No announcement yet.

Datumsvergleich Access-DB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datumsvergleich Access-DB

    Hallo,

    ich möchte aus einer DB alle die Datensätze auslesen, deren Geburtstage zwischen dem 'aktuellen Tag' und dem 'aktuellen Tag +7' liegen. Ich hatte es erst mit Umwandlung in Strings versucht, brachten aber kein eindeutiges Ergebnis.
    Nun versuche ich es so:

    DateTime curDate = DateTime.Now.AddDays(-1);
    DateTime futDate = curDate.AddDays(7);

    SELECT vname, geb FROM geb WHERE geb > '" + curDate.ToShortDateString() + "' AND geb < '" + futDate.ToShortDateString() + "'

    Wenn ich jetzt die Anwendung ausführe erhalte ich folgende Fehlermeldung:

    "Datentypen in Kriterienausdruck unverträglich."

    Ich habe mir mal die Query ausgeben lassen, da scheint alles zu passen. Also liegt das Problem in der DB, oder? Ich nutze eine Access-DB. Der Felddatentyp für das Feld 'geb' ist 'Dateum/Zeit' (Datum, Kurzformat).
    Kann mir jemand sagen was da schief läuft und wie man so was löst?

    Gruß Arndtinho

  • #2
    Am einfachsten ist es wohl so
    <PRE>
    SELECT vname, geb
    FROM geb
    WHERE geb BETWEEN now() AND (now() + 7)
    </PRE>
    wenn du die beiden Grenzwerte übergeben willst nimm lieber ein parametriertes SQL wie z.B.
    <PRE>
    SELECT vname, geb
    FROM geb
    WHERE geb BETWEEN ? AND ?
    </PRE>
    ADO.Net weiss dann schon wie es den Wert des Datums zu formatieren hat damit das unterliegende Datenbanksystem dieses frisst.

    Grüße
    Ral

    Comment

    Working...
    X