Datentypen in Kriterienausdruck unverträglich.
dw
- asp.net
Hallo,
meine Fehlermeldung:
Microsoft OLE DB Provider for ODBC Drivers- Fehler '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich.
/Mailsystem/top.asp, line 31
mein code:
...
if o <> 0 then
query = "select * from user where online = 1"
set RS=my_conn.Execute (query)
do until RS.EOF
if Now() - 0.001 > RS("logindate") then
logindate = RS("logindate")
query = "update user set online = '" & "0"
query = query & "' where logindate = '" & logindate & "'"
set RS=my_conn.Execute (query) <--Zeile 31
Session("logged") = "false"
end if
RS.MoveNext
loop
end if
...
Warum ist das so, dann versuch ich es so:
query = "update user set online = '" & "0"
query = query & "' where logindate = " & logindate <--Zeile 30
set RS=my_conn.Execute (query) <--Zeile 31
dann bekomm ich diese Fehlermeldung:
Microsoft OLE DB Provider for ODBC Drivers- Fehler '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'logindate = 29.04.2004 16:23:06'.
/Mailsystem/top.asp, line 30
Was ist da denn jetzt los, kann mir da jemand helfen, was ich da zu tun hab???? was ist falsch...?
Halihallo dw
query = "update user set online = '" & "0"
query = query & "' where logindate = " & logindate <--Zeile 30
set RS=my_conn.Execute (query) <--Zeile 31
[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'logindate = 29.04.2004 16:23:06'.
Bei Microsoft Access sind Daten mit '#' zu quoten. Also:
#29.04.2004 16:23:06#, ggf. ist das Datumsformat bei Access bei dir
noch auf US gestellt: #4/29/04#.
Eventuell musst du - da du über ODBC gehst - die Daten mit normalem
Quote (' oder ") quoten, ich weiss nicht, ob dies ODBC in die Access
Syntax umsetzt, oder es bereits so erwartet.
Viele Grüsse
Philipp