Laden...

String in SQL-Abfrage (DateTime)

Erstellt von Thron vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.688 Views
T
Thron Themenstarter:in
63 Beiträge seit 2017
vor 6 Jahren
String in SQL-Abfrage (DateTime)

Hallo,

habe ein Problem und bekomme es nicht hin. Ich nutze Microsoft SQL Server 2014.

Ich habe mir einen String mit DateTime erzeugt


string DatumGestern = DateTime.Now.AddDays(-1).toString("yyyy-mm-dd")

den Möchte ich nun in meine SQL-Abfrage einbauen:


"SELECT GPSZeit, Laenge, Breite, Geschwindigkeit, Kurs " +                                      
                                                     "FROM Logdaten " +                                            
                                                     "WHERE ObjectID = " + DeviceID +
                                                     "AND GPSZeit >= '2017-03-02'" +
                                                     "AND GPSZeit <='" + DatumGestern + "'";

es kommt der Fehler, dass beim umwandeln eines varchar-Wertes in ein Datetime Wert, ein Wert außerhalb liegt.

Kann mir jemand helfen?

Viele Dank...

16.842 Beiträge seit 2008
vor 6 Jahren

[Artikelserie] SQL: Parameter von Befehlen
Die String Frickelei, die Du da machst, macht nur Probleme und ist ein Sicherheitsrisiko.

T
Thron Themenstarter:in
63 Beiträge seit 2017
vor 6 Jahren

okay...

wie kann ich es dann machen? Ich möchte das Datum von heute -1 Tag und das in die Sql rein..

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo Thron,

suchst du sowas wie SQL Server DATEADD() Function ?

Trotzdem: Lies dir den Link von Abt durch. Da steht drin, wie du viele Probleme umgehen kannst. Je nach Datentyp in der DB kannst du dir das ganze ToString() sparen.

Gruss

Coffeebean

16.842 Beiträge seit 2008
vor 6 Jahren

DateAdd ist absolut nicht nötig.
Man darf einfach nur nicht den Query mit String-Frickelei zusammen bauen, sondern so wie es vorgesehen ist: mit Parametern.
Der Link hast dazu hast Du bereits; spätestens beim Durchlesen erübrigt sich dann die Frage des Wie.

T
Thron Themenstarter:in
63 Beiträge seit 2017
vor 6 Jahren

Danke für die Hilfe, hat geklappt und den Artikel von Abt habe ich mir schon zu herzen genommen...

Gruß