Laden...

TSQL - Wie kann ich ein Datetime in einer WHERE-Klausel benutzen?

Erstellt von andi_bln vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.316 Views
A
andi_bln Themenstarter:in
25 Beiträge seit 2014
vor 5 Jahren
TSQL - Wie kann ich ein Datetime in einer WHERE-Klausel benutzen?

verwendetes Datenbanksystem: <Access2010>

Hallo,
weiß nicht mehr weiter, "eigentlich" total simpel.
Es sollen die Daten eines Table ab einem bestimmten Datum geladen werden.
Die Spalte (CheckedAt) ist in der DB definitiv als DateTime festgelegt.

Übergabeparameter DateTime RecordsFrom.

In der Prozedur baue ich den SQL String :

SQLSt = "SELECT * FROM " + TableNm + " WHERE " + CheckColumn + " > @" + RecordsFrom;

heraus kommt das :

"SELECT * FROM TableName WHERE CheckedAt ≥ '23.04.2018 15:08:35'"

und Datentypenkonflikt in Kriterienausdruck, egal was ich hier treibe... 😦
Ohne Where Klausel geht alles nur ich lade unnütze Daten ....

Hat jemand eine Idee, wahrscheinlich ist es total einfach ..

Vielen Dank für Hilfe Andreas

noch ?????

F
26 Beiträge seit 2013
vor 5 Jahren

hi!

Verwende Db-Parameter:
[Artikelserie] SQL: Parameter von Befehlen

lg

A
andi_bln Themenstarter:in
25 Beiträge seit 2014
vor 5 Jahren

Erst mal Danke,
auch mit Parametern funktioniert es nicht, muss mich eingehend damit beschäftigen.

Vielen dank !!

Andreas

noch ?????

16.807 Beiträge seit 2008
vor 5 Jahren

Mit Parametern funktioniert es, wenn Du es fehlerfrei umgesetzt hast.
Genau dafür sind Parameter da.

A
andi_bln Themenstarter:in
25 Beiträge seit 2014
vor 5 Jahren

So funktioniert es 😃

 OleDbParameter Opr = new OleDbParameter();
 Opr.ParameterName = RecordsFrom.ToString();
 Opr.OleDbType = OleDbType.DBDate;
 Opr.Direction = ParameterDirection.Input;
 Opr.Value = RecordsFrom;

Vielen Dank !!!!!!

noch ?????