---
title: "Skriva in i databasen på flera ID samtidigt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/121667-skriva-in-i-databasen-på-flera-id-samtidigt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Sico"
published: "2005-02-03T16:29:05.000Z"
updated: "2005-02-04T10:03:39.000Z"
replies: 6
views: 304
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/121667-skriva-in-i-databasen-på-flera-id-samtidigt"
---

# Skriva in i databasen på flera ID samtidigt

## #1 — Sico, 2005-02-03T16:29Z

Ett turnerings-system.
När jag ska skriva in alla resultat så loopar jag fram alla anmälda spelare med 2 inputrutor bakom där pris och placering skall anges. Jag fyller i alla spelarnas placeringar respektive pris samtidigt och skickar iväg. Men hur ska jag få in detta i databasen?

```
	playerID = Request.Form("ID")
	Money = Request.Form("Money")
	EndPos = Request.Form("EndPos")

	strSQL = "UPDATE t_TourReg SET " _
	& " f_Money = '"& Money &"', f_EndPos = '"& EndPos &"' Where f_ID=" & playerID & ""

	[b]Connect.Execute( strSQL )[/b]
```

Jag får felmeddelande:

> **fel skrev:**
>
> Microsoft JET Database Engine (0x80040E14)
> Syntaxfel (komma) i frågeuttrycket 'f_ID=113, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145'.
> /badbet/turnering.asp, line 404

Skriver jag ut mina Request.Form's så visar dom rätt, dvs.

> **response.write skrev:**
>
> 113, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 10000, , 200 SEK, 300 SEK, , , , , , 700 SEK, , , , , , , , , , , , 11, 10, 5, 3, 2, 7, 21, 22, 14, 23, 1, 19, 12, 8, 6, 15, 17, 4, 13, 18, 16, 24, 20

Första gången jag ger mig in på detta.

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

## #2 — UlfT, 2005-02-03T16:37Z

Jag har ingen aning om ifall det är möjligt att göra som du vill, men skulle jag testa, skulle mitt where-villkor se ut på följande vis:

```
where f_ID in (113, 124, 125,....)
```

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

## #3 — LarsG, 2005-02-03T17:50Z

```
for i = 0 to request.form("id").count - 1
    playerID = Request.Form("ID")(i)
    Money = Request.Form("Money")(i)
    EndPos = Request.Form("EndPos")(i)
    strSQL = "UPDATE t_TourReg SET " _
    & " f_Money = '"& Money &"', f_EndPos = '"& EndPos &"' Where f_ID=" & playerID 
    connect.execute strSQL
next
```

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

## #4 — Sico, 2005-02-03T21:01Z

Tack, men.

> **fel skrev:**
>
> Request-objekt, ASP 0105 (0x80004005)
> Ett matrisindex ligger utanför intervallet.
> /badbet/turnering.asp, line 398

**playerID = Request.Form("ID")(i)**

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

## #5 — LarsG, 2005-02-04T09:27Z

Jaså, då hmm

```
playerID = split(Request.Form("ID"),",")
Money = split(Request.Form("Money"),",")
EndPos = split(Request.Form("EndPos"),",")
for i = 0 to ubound(playerID)  
    strSQL = "UPDATE t_TourReg SET " _
    & " f_Money = '"& Money(i) &"', f_EndPos = '"& EndPos (i) &"' Where f_ID=" & playerID (i)
    connect.execute strSQL,,128
next
```

Jag förutsätter att fälten innehåller lika många värden.

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

## #6 — J.N., 2005-02-04T09:27Z

HEJ!

Av någon anledning får du ett array-fel (matris=array).

Eftersom du använder IN vet du nog inte vilken som blir fel, men troligtvis på slutet.

Titta noga på dem och se om det löser problemet, annars får du loopa igenom frågan utan IN.

Splitta arrayen på ", ", loopa igenom arrayen med en UPDATE per loop. Till sist blir det fel, lös det ;)

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

## #7 — Sico, 2005-02-04T10:03Z

Tack LarsG
Du är en kung.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/121667-skriva-in-i-databasen-på-flera-id-samtidigt
