Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Set rs = myConn.Execute (\"SELECT TOP 1 ID FROM Users\")
Ulempen er at der KUNNE snige sig en update ind lige efter første sætning, men der må være noget du kan genkende den rigtige record på, når du åbner den anden gang, Request.Cookies(\"bnlablabla\")(\"Username\") f.eks.
Set rs = myConn.Execute (\"SELECT TOP 1 ID FROM Users WHERE [user] = \'\"&Request.Cookies(\"bnlablabla\")(\"Username\")&\"\'\")
Og lav dog være med at bruge keywords som WHERE og USER som kolonnenavne, det er at bede om problemer :-)
Den sikreste måde at hive et nettop nyindsat id, ud på er ved hjælp af en trigger. ASP udfører ikke sine DB kald atomare, altså sådan at man er sikker på at der ikke er sket en anden handlign efterfølgende!
Hvis du bruger MS-SQL-server kan du oprette en trigger som vil retunere det nyindsatte id, FØR at der kan indsættes en anden record!! FX sqlOnline = \"UPDATE users SET Online = \'false\' WHERE id = \"& session(\"id\") set rsOnline = myConn.execute(sqlOnline)
Nu vil rsOnline kun indeholde 1 kolonne som indeholder det nyindsatte ID. MS-SQL-server sørger for at assigne resultatet af UPDATE-statement\'en til din variabel.. Hvis flere brugere trigger en update (næsten) samtidigt, vil du være sikker på at det rigtige id bliver returneret!!
hmmm jeg har fundet ud af hvorfor min: sqlOnline = \"UPDATE users SET Online = \'false\' WHERE id = \"& session(\"id\")
ikke virker.
det er noget snask med Session_OnEnd i global.asa\'en
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.