---
title: "Vill inte uppdatera"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/135065-vill-inte-uppdatera"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "webbSAJTEN"
published: "2005-10-01T10:26:55.000Z"
updated: "2005-10-05T15:30:26.000Z"
replies: 20
views: 722
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/135065-vill-inte-uppdatera"
---

# Vill inte uppdatera

_Sida 1 av 2._

## #1 — webbSAJTEN, 2005-10-01T10:26Z

Detta script skall sätta personen Online

```
strStatus = "Online"
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where ID = "&session("ID")&""
Connect.Execute(SQL),,128
```

Den har fungerat hela tiden, till nu :S

Permalänk: https://www.webforum.nu/p/135065

## #2 — cyprys, 2005-10-01T11:06Z

Ok.

Mer info hit och du får nog mer info tillbaka. ;) 
Annars är väl första frågan: Hur ser sql-strängen ut när du printar ut den samt hur exekverar du den?

Permalänk: https://www.webforum.nu/p/1680179

## #3 — webbSAJTEN, 2005-10-01T11:14Z

Alltså..

Får inte ut satsen.. Får bara en massa felmess :S
Men jag tänkte, denna kod finns på en includerad sida..

```
strStatus = "Offline"
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where '"&DateAdd("n", -15, Now())&"' < strSenast "
Connect.Execute(SQL),,128
```

Kan de vara den som sätter personen Offline direkt?

Permalänk: https://www.webforum.nu/p/1680183

## #4 — cyprys, 2005-10-01T11:28Z

Antar att du har en sats som uppdaterar strSenast innan ovanstående funktioner. 
Dina massa felmess är lite svåra att tyda härifrån dessutom.

Egentligen räcker det med din uppdatering av strSenast. 
Sedan har du ytterligare en fråga som tar ut de som uppdaterat sidan de senaste 15 minuterna.

Permalänk: https://www.webforum.nu/p/1680186

## #5 — webbSAJTEN, 2005-10-01T11:32Z

Menar du att den sätter alla som varit aktivs dom senaste 15 minutrarna kommer Offline?

Permalänk: https://www.webforum.nu/p/1680189

## #6 — cyprys, 2005-10-01T11:38Z

Tror du vill att 

```
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where '"&DateAdd("n", -15, Now())&"' < strSenast "
```

ska vara

```
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where '"&DateAdd("n", -15, Now())&"' > strSenast "
```

 för att sätta alla som inte uppdatera senaste 15 minuterna till offline.

Permalänk: https://www.webforum.nu/p/1680190

## #7 — webbSAJTEN, 2005-10-01T11:41Z

Måste nog vara de som är felet :D

Permalänk: https://www.webforum.nu/p/1680191

## #8 — emission, 2005-10-01T23:09Z

Vänligen markera rätt svar som lösningen. För sakens skull :)

Permalänk: https://www.webforum.nu/p/1680396

## #9 — webbSAJTEN, 2005-10-02T17:41Z

Men har märkt nu att den koden fungerar inte som de ska..
En person i databasen har strSenast. 2005-10-02 11:03:01

Och då skall den personen sättas som Offline, men det gör han inte..

```
strStatus = "Offline"
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where '"&DateAdd("n", -15, Now())&"' > strSenast "
Connect.Execute(SQL),,128
```

Permalänk: https://www.webforum.nu/p/1680651

## #10 — @nders, 2005-10-02T17:45Z

Om du skriver ut SQL-frågan, hur ser den ut då? dvs är tid och sådant korrekt?

mvh

Permalänk: https://www.webforum.nu/p/1680654

## #11 — webbSAJTEN, 2005-10-02T17:47Z

Fan, du är kung =)..
Eller hmm.. :P
UPDATE anv Set strStatus = 'Offline' Where strSenast \< '10/2/2005 7:31:37 PM'

Sådär får jag ut de ;) Alltså i fel format.. :(

Hur ändrar ja så att datumet visas klokt?..

Permalänk: https://www.webforum.nu/p/1680659

## #12 — Baltiz, 2005-10-02T19:37Z

Antar att du använder Access? I så fall ska datum alltid omges av # och inte '. 

UPDATE anv Set strStatus = 'Offline' Where strSenast \< #10/2/2005 7:31:37 PM#

En liten undran bara, om status kan vara antingen Offline eller Online, varför inte använda en boolean till det?

Permalänk: https://www.webforum.nu/p/1680693

## #13 — cyprys, 2005-10-02T19:39Z

...och du har vänt tillbaka jämförelseoperatorn igen f.ö.
Det är dessutom en valid presentation av datetime.

Permalänk: https://www.webforum.nu/p/1680696

## #14 — webbSAJTEN, 2005-10-02T20:18Z

Jag använder MySQL, och jag har inte vänt tillbaka den.. Den är som cyprys (du) vill att den ska vara..

Permalänk: https://www.webforum.nu/p/1680712

## #15 — webbSAJTEN, 2005-10-02T20:19Z

Och du Baltiz, boolean.. kan du förklara mer?

Permalänk: https://www.webforum.nu/p/1680714

## #16 — cyprys, 2005-10-03T07:14Z

> Jag använder MySQL, och jag har inte vänt tillbaka den.. Den är som cyprys (du) vill att den ska vara..

Jämför min senaste och din senaste kod och säg om det där. ;) 

Boolean är ett uttryck som endast kan ha två värden. True eller false. Brukar även representeras som 1 (true) 0 (false). Istället för att ha långa strängar som tar plats och göra strängoperationer/jämförelser varje gång man ska hämta ut de som är Online resp Offline låter man 1 stå för online och 0 för offline. Databasen blir alltså mindre och går snabbare med boolean. 
I mySQL får du använda t.ex. tinyint för att respresentera boolean då det inte stöds.

Permalänk: https://www.webforum.nu/p/1680803

## #17 — webbSAJTEN, 2005-10-03T11:52Z

okej, tack :D men boolean kommer ju inte att lösa felet med datumet..

Hur ska jag lösa de?

Permalänk: https://www.webforum.nu/p/1680892

## #18 — webbSAJTEN, 2005-10-03T12:02Z

Okej! Nu är de såhär..

När jag har kodsnutten såhär

```
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where strSenast > '"&DateAdd("n", -15, Now())&"'"
```

Så är det ingen som hamnar Online när man loggar in.

När snutten är såhär:

```
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where strSenast < '"&DateAdd("n", -15, Now())&"'"
```

då sätts man som Online, men man sätts inte som Offline efter 15 minuter..

All relevant kod ser ut såhär..

```
<script>
setTimeout("location.href='settings.asp?set=offline'", 899999);
</script>
<%
Set Connect = Server.CreateObject("Adodb.Connection") 
Connect.Open strCon

if request.QueryString("set") = "offline" then

strStatus = "Offline"
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where ID = "&session("ID")&""
Connect.Execute(SQL),,128
session.Abandon()
Response.Redirect("index.asp")

end if

strStatus = "Offline"
SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where strSenast > '"&DateAdd("n", -15, Now())&"'"
'response.Write SQL
Connect.Execute(SQL),,128

SQL = "UPDATE anv Set strSenast = current_timestamp Where ID = "&session("ID")&""
Connect.Execute(SQL),,128
```

Permalänk: https://www.webforum.nu/p/1680893

## #19 — emission, 2005-10-04T23:40Z

> **webbSAJTEN skrev:**
>
> Okej! Nu är de såhär..
> Så är det ingen som hamnar Online när man loggar in.

Det är upp till inloggningsfunktionen att sätta status till "Online", och alla andra sidor måste sätta strSenast, hela tiden (lite konfunderande med kolumnnamnet "strSenast", det är ju ingen sträng)

> **webbSAJTEN skrev:**
>
> När snutten är såhär:
>
>
> ```
> SQL = "UPDATE anv Set strStatus = '"&strStatus&"' Where strSenast < '"&DateAdd("n", -15, Now())&"'"
> ```
>
> 
> då sätts man som Online, men man sätts inte som Offline efter 15 minuter..

Jo, det blir man nog, men inte förrän någon låter webbläsaren stå still i 899999 millisekunder, eller triggas funktionen av någon annan sida också?

Använd gärna databasmotorns inbyggda datumfunktioner, så blir det problemfritt och lättare att läsa.

```
UPDATE anv Set strStatus = 'Offline' Where strStatus='Online' AND strSenast < DATE_SUB(NOW(),INTERVAL 15 MINUTE)
```

Permalänk: https://www.webforum.nu/p/1681489

## #20 — webbSAJTEN, 2005-10-05T11:40Z

När jag la in snutten

```
UPDATE anv Set strStatus = 'Offline' Where strStatus='Online' AND strSenast < DATE_SUB(NOW(),INTERVAL 15 MINUTE)
```

så verkarde allt funka :D Ska se ett tag om de funkar :D

Permalänk: https://www.webforum.nu/p/1681598

---

Tråden på webben: https://www.webforum.nu/amne/asp/135065-vill-inte-uppdatera  
Nästa sida: https://www.webforum.nu/amne/asp/135065-vill-inte-uppdatera/page2.md
