PDA

View Full Version : Updateringfel.


M.Cheraghi
2004-08-16, 14:24
Det berörda koden är

Set RSoff = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT online_status,online_time FROM tblUser WHERE online_status = 'online'"
RSoff.Open strSQL, Conn, 3, 3

Do until RSoff.eof

If RSoff("online_status") = "online" AND DateDiff("n", RSoff("online_time"), Now) > 20 Then
RSoff("online_status") = "offline"
RSoff.Update
End If

RSoff.movenext
loop


Det konstiga felmeddelandet är


Microsoft OLE DB Provider for ODBC Drivers fel '80040e21'

En OLE DB-åtgärd i flera steg genererade fel. Kontrollera alla OLE DB-statusvärden som finns tillgängliga. Inget arbete utfördes.


Det hela fungerade till en början några gånger, sen gick det käpp rätt åt helvette :e Har provat att sätta några users i databasen till online för att se om det var det som var fel, men nopp.
Någon som har en aning?

Kan väl tillägga att det är mySQL jag lirar med, inte för att jag tror att det spelar någon roll. men iaf :)

M.Cheraghi
2004-08-16, 14:44
helt skumt. :|

jag bytte ut

strSQL = "SELECT online_status,online_time FROM tblUser WHERE online_status = 'online'"
RSoff.Open strSQL, Conn, 3, 3


Mot följande

strSQL = "SELECT online_status,online_time FROM tblUser"
RSoff.Open strSQL, Conn, 3, 3


och då fungerade det att logga in på sidan, för jag kör den kontrollen på inloggningssidan.
Men när man väl är inne på sidan, så finns det ännu en likadan funktion i en frame och den kör fortfarande

strSQL = "SELECT online_status,online_time FROM tblUser WHERE online_status = 'online'"
RSoff.Open strSQL, Conn, 3, 3

och den fungerar, utan att krasha, trots att jag gjort "Copy'n'paste" på koden. Jag vill helst kunna använda "Where online = 'online'" i SQL frågan, för det borde väl gå lite fortare?

Avvaktar med att markera som rätt svar tills jag fått svar på vad som e galet ;)