---
title: "For Each loop med SQL"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/119583-for-each-loop-med-sql"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "hellboy"
published: "2005-01-07T20:57:52.000Z"
updated: "2005-01-08T10:02:19.000Z"
replies: 5
views: 391
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/119583-for-each-loop-med-sql"
---

# For Each loop med SQL

## #1 — hellboy, 2005-01-07T20:57Z

Jag har följande kod, som "nästan" fungerar...

```
Dim SQL,arrSQL(3)
SQL = "UPDATE upl_items SET "
i = 1
For Each File in Upload.Files
  arrSQL(i-1) = SQL & "file" & i & " = '" & File.FileName & "'," & "file" & i & "_w = '" & File.Imagewidth & "',"
  arrSQL(i-1) = arrSQL(i-1) & "upl_rubrik = '" & SafeSQL(Upload.Form("upl_rubrik")) & "', upl_info_text = '" & SafeSQL(Upload.Form("upl_infotext")) & "'"
  arrSQL(i-1) = arrSQL(i-1) & " WHERE id=" & Upload.Form("id")
  i = i + 1

Next
Connect.Execute(arrSQL(i-1))
Response.Write "Klart!"
```

Får dock följande felmeddelande:

Microsoft JET Database Engine error '80040e0c'

Command text was not set for the command object.

/test/edit_save.asp, line 26

Har någon någon idé om en lösning?

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

## #2 — Fraggel, 2005-01-07T21:52Z

Hur ser rad 26 ut ??? vilken är det ?

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

## #3 — @nders, 2005-01-07T22:08Z

Det vore helt klart ganska bra om Execute-raden ligger inne i loopen. 

Jag förstår inte heller riktigt meningen med att börja med i = 1 och hela tiden använda i-1?

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

## #4 — hellboy, 2005-01-08T09:52Z

Line 26 är Execute-raden.

Flyttar jag in execute till innan next, kommer samma felmeddelande upp som innan.

Hur skulle man annars kunna utföra det som är menat?

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

## #5 — @nders, 2005-01-08T09:57Z

Jag förstår inte varför du använder en array överhuvudtaget. Borde inte detta funka:

```
SQL = "UPDATE upl_items SET "
i = 1
For Each File in Upload.Files
  SQL = SQL & "file" & i & " = '" & File.FileName & "'," & "file" & i & "_w = '" & File.Imagewidth & "',"
  i = i + 1
Next
SQL = SQL & "upl_rubrik = '" & SafeSQL(Upload.Form("upl_rubrik")) & "', upl_info_text = '" & SafeSQL(Upload.Form("upl_infotext")) & "'"
SQL = SQL & " WHERE id=" & Upload.Form("id")
Connect.Execute SQL,,128

Response.Write "Klart!"
```

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

## #6 — hellboy, 2005-01-08T10:02Z

jo, det gjorde det ju.. Jag fick förslaget att en array var en bra lösning, men det denna var ju mycket bättre!

Tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/119583-for-each-loop-med-sql
