---
title: "Angående denna SQL-sats..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/87443-angående-denna-sql-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Fredde Mannen"
published: "2003-10-01T23:23:38.000Z"
updated: "2003-10-02T13:52:32.000Z"
replies: 13
views: 429
page: 1
pages: 1
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/87443-angående-denna-sql-sats"
---

# Angående denna SQL-sats...

## #1 — Fredde Mannen, 2003-10-01T23:23Z

```
MyConn.ExeCute("UPDATE users SET status=0,sessionid="""",tidstampel=tidstampel WHERE status=1 AND tidstampel < DateAdd(""n"",15, NOW )")
```

Denna kod bör sätta status=0,sessionid="" och tidstampel=tidstampel vars status=1 och tidstampel \< (datum och tid plus 15 minuter).

Men när jag använder denna sats så kan man inte ens logga sig in... men vänder jag på \< till ett \> så funkar det... men det är ju inte så det ska se ut.... 
 :q

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

## #2 — Qimen, 2003-10-01T23:29Z

Är inte users ett reseverat ord?
Kan man verkligen ha """"?

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

## #3 — Fredde Mannen, 2003-10-01T23:32Z

> **Qimen skrev:**
>
> Är inte users ett reseverat ord?
> Kan man verkligen ha """"?

Nope... den klagar inte på att users är ett reserverat ord som den annars gör om ordet är reserverat... jo man skall kunna ha "" "", det är istället för ' '..

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

## #4 — Palle, 2003-10-01T23:34Z

Är trött, men detta borde la fungera bättre: 

```
[red]MyConn.ExeCute("UPDATE users SET status=0,sessionid='""', tidstampel=tidstampel WHERE status=1 AND tidstampel < "& DateAdd("n",15,now))[/red]
```

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

## #5 — Qimen, 2003-10-01T23:34Z

Men du säger att det funkar om du vänder på \<, varför klaga då :p :h

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

## #6 — Fredde Mannen, 2003-10-01T23:37Z

> **Palle skrev:**
>
> Är trött, men detta borde la fungera bättre: 
>
> ```
> [red]MyConn.ExeCute("UPDATE users SET status=0,sessionid='""', tidstampel=tidstampel WHERE status=1 AND tidstampel < "& DateAdd("n",15,now))[/red]
> ```

Hmm.... nope... :(

**Syntaxfel (operator saknas) i frågeuttrycket 'status=1 AND tidstampel \< 2003-10-02 01:50:50'.**

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

## #7 — Palle, 2003-10-01T23:38Z

Testar med en extra *fnutt* på slutet då. ;) 

```
[red]MyConn.ExeCute("UPDATE users SET status=0,sessionid='""', tidstampel=tidstampel WHERE status=1 AND tidstampel < "& DateAdd("n",15,now) &"")[/red]
```

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

## #8 — Fredde Mannen, 2003-10-01T23:43Z

Fortfarande samma fel... 

```
Syntaxfel (operator saknas) i frågeuttrycket 'status=1 AND tidstampel < 2003-10-02 01:56:07'.
/library/if_inloggad.asp, line 7
```

Men visst skall man kunna jämföra två datum med \< , funkar ialla fall annars,.. vad är det som sviker? :q

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

## #9 — LarsG, 2003-10-01T23:48Z

Om det är access,  så går det att använda now() och dateadd direkt i SQL.

```
MyConn.ExeCute _
"UPDATE users SET status=0,sessionid='', " & _
" tidstampel=tidstampel " & _
" WHERE status=1 " & _
" AND tidstampel < DateAdd('n',15,now())"
```

Sen så är det bäst att använda ' för strängvärden. Det är det enda som fungerar i alla databaser. (" betyder något annat enligt sql-standarden.)

Du får fel för att datum-värdet skall anges inom # för Access och ' för de flesta andra dbms.

Om det nu inte är Access utan tex SQL server så blir syntaxen 

```
MyConn.ExeCute _
"UPDATE users SET status=0,sessionid='', " & _
" tidstampel=tidstampel " & _
" WHERE status=1 " & _
" AND tidstampel < DateAdd(minute,15,getdate())"
```

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

## #10 — Palle, 2003-10-01T23:52Z

Jorå, det ska gå om *tidstampel* är av datum-typ.

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

## #11 — Fredde Mannen, 2003-10-01T23:56Z

Tack LarsG... nu blir det ialla fall inget felmeddelande... men står fortfarande inför ett problem som inte fanns när jag körde emot MySQL...

Nåja bifogar hela dokumentetskod... :l

```
<!--#include virtual="/library/errcodes.asp"-->
<!--#include virtual="/library/forum-funktioner.asp"-->
<%
Session.Timeout = 900
' Logga ut alla användare som varit inaktiva förlänge!
MyConn.ExeCute("UPDATE users SET status=0,sessionid='',tidstampel=tidstampel WHERE status=1 AND tidstampel < DateAdd('n',15,now())")

Function if_loggad(usrid)
' Om usrid saknar ett värde, logga ut.
if(len(usrid) = 0) Then
	 ErrorMsg("msgcode1")
End if

' Om usrid ej har värdet 0.
if(len(usrid) <> 0) Then
	Set rs = MyConn.ExeCute("SELECT COUNT(*) as n FROM users WHERE UserID=" & usrid & " AND sessionid='" & session.sessionid & "' AND status=1")
	Set rs2 = MyConn.ExeCute("SELECT * FROM users WHERE UserID=" & usrid & " AND sessionid='" & session.sessionid & "' AND status=1")

		' Uppdatera användaren om hans sessionsid är okay och usrid finns där status=1.
		if(rs("n") > 0) Then
			' Uppdatera användaren sätt tidstampel = NU vars usrid finns och sessionsid är okay.
			MyConn.Execute("UPDATE users SET tidstampel='" & now & "' WHERE UserID=" & usrid & " AND sessionid='" & session.sessionid & "'")
			Session("ID") = rs2("UserID")
		Else
			' Visa felmeddelandet.
			ErrorMsg("msgcode3")
		End if
	rs.Close
	rs2.Close
Else
	' Visa felmeddelandet.
	ErrorMsg("msgcode3")
End if
End function

Function online_list(usrid)
	' Beta version av onlinelista... finns tillsvidare.
	Set rs = MyConn.ExeCute("SELECT * from users WHERE status=1 ORDER by nickname DESC")
	Response.Write("<strong>Online lista</strong><br />")
		Do until rs.eof
			If(rs("sessionid") = Session.SessionID) Then
				nick = "<b>" & rs("nickname") & "</b>"
			Else
				nick = "" & rs("nickname") & ""
			End if
		Response.Write("&#8226;&nbsp;" & nick & "<br />")
		rs.MoveNext
		Loop
End function

if_loggad(Session("ID"))
%>
```

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

## #12 — @nders, 2003-10-02T04:20Z

> **Fredde Mannen skrev:**
>
> Tack LarsG... nu blir det ialla fall inget felmeddelande... men står fortfarande inför ett problem som inte fanns när jag körde emot MySQL...

Vad?

Vad är det som inte funkar?

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

## #13 — Fredde Mannen, 2003-10-02T13:50Z

> **@nders skrev:**
>
> > **Fredde Mannen skrev:**
> >
> > Tack LarsG... nu blir det ialla fall inget felmeddelande... men står fortfarande inför ett problem som inte fanns när jag körde emot MySQL...
>
> Vad?
> 
> Vad är det som inte funkar?

Den loggar ut alla...

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

## #14 — Fredde Mannen, 2003-10-02T13:52Z

Jag tror jag har löst det... genom att byta ut \< till = och -15 ... vi får se om det blir som jag tänkt i slutändan.. :e

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/87443-angående-denna-sql-sats
