Hej igen
Undrar bara kan man inte använda den koden på fler ställen?
Min sida för inloggning använde sig åsså av Recset men så vill mySql gå med på det heller så jag bytte till din. Men då får jag felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers fel '80004005'
[TCX][MyODBC]Duplicate entry '' for key 2
/secure/login_check.asp, rad 21
och rad 21 är just den raden:
Connect.Execute sql,,128
Ligger felet i koden eller kan det vara nått annat? Spelar det nånn roll om jag använder din kod två ggr i samma dokument?
humm jag undrar det också. Om jag bara har ett värde jag vill lägga till hur gör jag då? Ska man inte lägga till utan uppdatera när man redan har ett annat värde?
Jo, det verkar som om du har definierat att det finns kolumner som är unika (username?) och då får du fel om du gör insert på samma värde. Det låter som om det är en update du skall göra.
Alldeles rätt. I databsen så har "Username" unique men det är ju inte det fältet som ska uppdateras. Det är fältet status som är online då och ska uppdateras till offline.
Men det borde funka samma om det gäller många va?
För den ska ändra alla till offline som har varit inaktiva i 45 min.
Do Until RecSet.EOF
If RecSet("status") = "online" AND DateDiff("n", RecSet("datum"), Now) > 45 Then
sql ="[B]här ska då update koden sitta[/B]"
Connect.Execute sql,,128
End If
RecSet.MoveNext
Loop
RecSet.Close
Alltså när jag nu försökte göra så att när man loggar in ska den kolla upp alla som har varit inaktiva i 45 minuter och sätta dem på offline om dem är på online. Men det vill inte funka. Jag provade så här:
[COLOR=#660000]Do Until RecSet.EOF
sql ="update members set status = 'offline' where Datum < SUBDATE(NOW(),INTERVAL 45 MINUTE)"
Connect.Execute sql,,128
RecSet.Update
End If
RecSet.MoveNext
Loop
RecSet.Close[/COLOR]
Jag får felmeddelande om att Programsats förväntas. Så pekar den på "End if"