---
title: "Hur gör man ??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/57748-hur-gör-man"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jwradhe"
published: "2002-11-01T18:08:36.000Z"
updated: "2002-11-02T01:08:50.000Z"
replies: 10
views: 349
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/57748-hur-gör-man"
---

# Hur gör man ??

## #1 — jwradhe, 2002-11-01T18:08Z

jag försöker att göra så att koden visar inlagget med id blabla och samtidigt updatera last fältet med +1 .

min kod ser ut så här

```
  <%
Set Connect = Server.CreateObject("ADODB.connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../db/forum.mdb")
SQL = "SELECT * from forum WHERE id= " & (Request.Querystring("id")) &" "
SQL = "UPDATE forum SET last=last+1 WHERE id "& (Request.Querystring("id")) &" "
Set RecSet = Connect.execute(SQL)
%>
```

får felmeddelande 
 

```
Microsoft JET Database Engine error '80040e14' 

Syntax error in UPDATE statement. 

/las_trad.asp, line 26
```

hur ska jag skriva....??

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

## #2 — niko, 2002-11-01T18:11Z

WHERE id **\=**" & Request.Querystring("id")

Kanske?

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

## #3 — Skarre, 2002-11-01T18:12Z

Du har glömt ett likhetstecken i den andra SQL-frågan.

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

## #4 — jwradhe, 2002-11-01T18:14Z

?

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

## #5 — niko, 2002-11-01T18:17Z

> **niko skrev:**
>
> WHERE id =" & Request.Querystring("id")

Första gången jag citerar mig själv.

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

## #6 — Ankman, 2002-11-01T22:29Z

Den första SQL-satsen körs aldrig
??

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

## #7 — solbulle, 2002-11-01T22:54Z

Som sagt, den första sqlsatsen körs aldrig eftersom du först ger variabeln SQL ett värde och sen på nästa rad ett nytt värde för att sen köra det sista värdet.
\- Fast det har väl iofs inte riktigt med ditt problem att göra.

```
<%
Set Connect = Server.CreateObject("ADODB.connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../db/forum.mdb")
SQL = "UPDATE forum SET last=last+1 WHERE id ="& (Request.Querystring("id"))
Connect.Execute SQL,,128
%>
```

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

## #8 — CoolDude, 2002-11-01T22:56Z

Re: Hur gör man ??

> \<%
> Set Connect = Server.CreateObject("ADODB.connection")
> Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../db/forum.mdb")
> SQL = "SELECT \* from forum WHERE id= " & (Request.Querystring("id")) &" "
> SQL = "UPDATE forum SET **last=last+1** WHERE id "& (Request.Querystring("id")) &" "
> Set RecSet = Connect.execute(SQL)
> %\>

Tror den strängen kan bli väldigt jobbig att ta sig igenom. :OO 

Så här skulle jag ha gjort typ....  :stud 

```
Set Connect = Server.CreateObject("ADODB.connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../db/forum.mdb")
SQL = "SELECT * from forum WHERE id= " & (Request.Querystring("id")) &" "
[b]Set RecSet = Connect.execute(SQL)

sista=RecSet("last")+1[/b]

SQL = "UPDATE forum SET [b]last='" & sista & "' WHERE id =" & Request.Querystring("id")[/b]
Connect.execute(SQL)
```

/r Markerat förändringarna...   :r

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

## #9 — Skarre, 2002-11-02T00:34Z

Att köra t.e.x. "SET foo = foo + 1 ..." har aldrig varit några problem för min del. Väldigt smidigt, till skillnad från din "lösning", CoolDude. :P ;) Men jag är säkert ute och cyklar som vanligt när det gäller ASP.

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

## #10 — Ankman, 2002-11-02T00:40Z

Det går alldeles utmärkt att köra "SET foo = foo + 1..." Att först skapa ett recordset och sen infoga värdet med ett nytt anrop är ganska onödigt.

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

## #11 — niko, 2002-11-02T01:08Z

Inte bara onödigt dessutom potentiellt fel. Om flera personer surfar samtidigt så riskerar man att få ett för lågt värde på "last" i databasen.

För att lösa det så skulle man behöva rama in koden med:

```
Application.Lock
....
Application.UnLock
```

Som sagt .. ?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/57748-hur-gör-man
