---
title: "Fel i en update Loop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/51334-fel-i-en-update-loop"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "voigtann1"
published: "2002-08-26T17:28:41.000Z"
updated: "2002-09-03T19:09:04.000Z"
replies: 14
views: 314
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/51334-fel-i-en-update-loop"
---

# Fel i en update Loop

## #1 — voigtann1, 2002-08-26T17:28Z

Jag kör:

```
<%
if request.querystring("change") = "true" then
	SQL = "select * from forums"
	Set RS22 = Databas.Execute(SQL)
	Do Until RS22.eof
		SQL = "UPDATE forums set topics = "& trim(request.form("order")) &" where ID = "& trim(request.form("id"))
		Set RS223 = Databas.Execute(SQL)
	RS22.MoveNext
	Loop
	RS22.close
end if

%>
```

på denna kod:

```
<%
	SQL = "select * from forums order by topics"
	Set RS = Databas.Execute(SQL)
	SQL = "select count(*) as antal from forums"
	Set RS2 = Databas.Execute(SQL)

%>
<table><form method="post" action="sort.asp?change=true">
<% Do While NOT RS.EOF%><tr>
<% if rs("url") <> "" then %>
<td class="mess3">
<% elseif rs("info") <> "" then %>
<td>
<%else%>
<td class="topic">
<% end if%>
<%=rs("namn")%></td><td><input value="<%=rs("ID")%>" name="ID"><select name="order" size="1" class=mess3>
<% for i = 1 to rs2("antal") %><option value="<%=i %>"<% if rs("topics") = i then response.write " selected"%>><%=i%></option>
<%next%>
</select>
</td>
</tr>

<%
rs.movenext
Loop
%>
```

Problemet är när jag ska updatera min fina RS22 kod.. får jag:

> Error Type:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
> \[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error in UPDATE statement

ID = räknare
topics = tal

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

## #2 — @nders, 2002-08-26T17:35Z

Det första man gör när man får ett felmeddelande på en SQL-fråga är att skriva ut den med Response.Write istället för att exekvera den. Då kan man lätt se om variabelvärden saknas, exempelvis.

Alltså: hur ser det ut?

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

## #3 — LarsG, 2002-08-26T17:45Z

Du lägger ut många fält med samma namn (ID). Värdet i det fältet blir då en komma-separerad lista med alla idnummer. 

Din update ser nog ut som 

```
update forums set topics = 1,2,3,4 where id = 3,4,5,6
```

Du får antingen döpa fälten till olika namn (ID1,ID2,...) och hålla reda på hur många det finns eller så kan du göra split på värdet för att få tag på enskilda idnumrem eller så kan du indexera dig i fältet eller använda for each eller ...

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

## #4 — voigtann1, 2002-08-26T18:02Z

UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25

får jag... saken är.. jag ska kunna lägga in fler ID och sånt hela tiden...

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

## #5 — Skarre, 2002-08-26T19:00Z

Det hade kanske räckt med en av SQL-strängarna. :)

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

## #6 — voigtann1, 2002-08-27T04:57Z

```
SQL = " UPDATE forums set topics = "& request.form("skins") & " where ID = "& request.form("id")
response.write SQL
Set RS223 = Databas.Execute(SQL)
```

får detta:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error in UPDATE statement.

SQL:

UPDATE forums set topics = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 12, 13, 14, 16, 2, 3, 6, 7, 1, 4, 5, 9, 8, 21, 22, 19, 23, 24, 10, 11, 20, 15, 17, 18, 25

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

## #7 — CatZ, 2002-08-27T06:10Z

Voigtan: Du får nog köra en For each Item In Request.Form loop eller nåt, kika på denna tråden: <http://www.webforum.nu/showthread.php?s=&threadid=50175>

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

## #8 — voigtann1, 2002-08-28T18:50Z

jag får det inte att fungera.. och nu e allt helt knäppt :/

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

## #9 — emission, 2002-08-28T21:40Z

Vad är själva målet med det hela? Hur ser tabellerna ut? Vad ska in och varför?

Du har en loop...

```
SQL = "select * from forums"
	Set RS22 = Databas.Execute(SQL)
	Do Until RS22.eof
		SQL = "UPDATE forums set topics = "& trim(request.form("order")) &" where ID = "& trim(request.form("id"))
		Set RS223 = Databas.Execute(SQL)
	RS22.MoveNext
	Loop
	RS22.close
```

Vad är syftet med den? Som den ser ut nu så kör den exakt samma SQL-sats X antal gånger, där X är antalet rader i tabellen "forums".

mvh
emission

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

## #10 — voigtann1, 2002-08-29T08:33Z

jag ska med hjälp av denna kod kunna "byta" ordning i ett forum...

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

## #11 — emission, 2002-08-30T20:06Z

Ok, men vad är förutsättningarna?

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

## #12 — voigtann1, 2002-08-31T07:51Z

vad menar du med det?

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

## #13 — emission, 2002-08-31T08:32Z

Hur ser tabellerna ut, och vad vill du ska ändras i dem?

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

## #14 — voigtann1, 2002-08-31T16:43Z

ah!:
ID - räknare
namn - Namn på forum
topics - Vilken ordning som forumet ska lista..
Jag ska bara kunna ändra om "Topics" i denna kod..

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

## #15 — voigtann1, 2002-09-03T19:09Z

någon?
SQL =

UPDATE forums set topics = 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 where ID = 3, 4, 5, 7, 23, 24, 18, 19, 22, 25, 17, 21, 20, 12, 13, 10, 14, 15, 1, 2, 11, 6, 8, 9, 16

detta måste  fungera på något sätt

		SQL = "UPDATE forums set topics = "& trim(request.form("order")) &" where ID = "& trim(request.form("id"))

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/51334-fel-i-en-update-loop
