Olfas SQLite DateTime

01/12/2011 - 13:29 von Hermie | Report spam
Hallo!

Ich habe mit dhRichClient3 eine Tabelle erzeugt.
Eine Spalte davon ist "log_datetime", deklariert als "DATETIME".

Ich speichere darin einen Wert in Form von Now, also z. B. "12.12.2011
12:12:12".

Nun habe ich versucht alle Datensàtze abzurufen, die z. B. am 12.12.2011
gespeichert wurden.

Dim cmdSel As dhRichClient3.cSelectCommand
Set cmdSel = cn.CreateSelectCommand("SELECT * FROM logs WHERE
log_datetime = ?")

Dim dt As Date
dt = format(Now, "short date")

cmdSel.SetDate 1, dt

Dim r As dhRichClient3.cRecordset
Set r = cmdSel.Execute

Debug.Print r.RecordCount

Das liefert mir aber 0 Datensàtze zurück.
Auch, wenn ich statt dem "=" ein "LIKE" verwende, kriege ich 0 Datensàtze.

Weiß jemand, wie das geht, was ich gerne machen möchte?

Danke.

Hermann
 

Lesen sie die antworten

#1 Schmidt
01/12/2011 - 14:04 | Warnen spam
Am 01.12.2011 13:29, schrieb Hermie:
Hallo!

Ich habe mit dhRichClient3 eine Tabelle erzeugt.
Eine Spalte davon ist "log_datetime", deklariert als "DATETIME".

Ich speichere darin einen Wert in Form von Now, also z. B. "12.12.2011
12:12:12".

Nun habe ich versucht alle Datensàtze abzurufen, die z. B. am 12.12.2011
gespeichert wurden.

Dim cmdSel As dhRichClient3.cSelectCommand
Set cmdSel = cn.CreateSelectCommand("SELECT * FROM logs WHERE
log_datetime = ?")

Dim dt As Date
dt = format(Now, "short date")

cmdSel.SetDate 1, dt

Dim r As dhRichClient3.cRecordset
Set r = cmdSel.Execute

Debug.Print r.RecordCount

Das liefert mir aber 0 Datensàtze zurück.




Dein 'DateTime' Column-Typ (und auch der Wert
'Now', den Du darin speicherst) beschreiben
ein "Datum mit Uhrzeit".

Da an einem einzelnen Tag mehrere solcher Datum+Zeit-
Eintràge in der Tabellen-Spalte sitzen können, musst
Du in der Abfrage auch einen Zeit-*Bereich* spezifizieren,
also in etwa so (AirCode, ungetestet):

Dim cmdSel As dhRichClient3.cSelectCommand
Set cmdSel = cn.CreateSelectCommand( _
"SELECT * FROM logs WHERE log_datetime Between ? AND ?")

Dim dt1 As Date, dt2 As Date
dt1 = format(Now, "short date")
dt2 = format(Now + 1 , "short date")

cmdSel.SetDate 1, dt1
cmdSel.SetDate 2, dt2

Dim r As dhRichClient3.cRecordset
Set r = cmdSel.Execute

Debug.Print r.RecordCount


Olaf

Ähnliche fragen