---
title: "Uppdatering av flera poster samtidigt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12245-uppdatering-av-flera-poster-samtidigt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "emil"
published: "2001-10-19T07:36:00.000Z"
updated: "2001-10-23T15:41:00.000Z"
replies: 13
views: 209
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/12245-uppdatering-av-flera-poster-samtidigt"
---

# Uppdatering av flera poster samtidigt

## #1 — emil, 2001-10-19T07:36Z

Har byggt upp ett statistiksystem för vårt fotbollslag men både jag och han som uppdaterar det efter varje match tycker det är lite krångligt. Som det är nu får man ändra varje spelare för sig via ett formulär, sen öppna nästa spelare och ändra han osv...

Min databas ser ut såhär något förenklad

ID    NAMN     MÅL   MATCHER  GULA KORT
1     Emil      10     1          1
2     Kalle     22     2          2

Går det att göra så en sida laddas i stil med den ovan fast allting ligger i liksom formulärrutor? så det bara är att ändra totalet mål för emil, sen tabbar man sig till kalle osv?
och sen trycker man typ uppdatera så uppdateras alla på sama gång?

Kan ingenting om det här och har letat som en tok både idag och igår på nätet efter tutorials, exempel samt läst igenom 2 böcker och inte hittat nåt så jag hoppas nån kanske orkar hjälpa med lite kod om någon kan, vore väldigt uppskattat av såväl mig som min fotbollsförening!

Mvh EMil

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

## #2 — LarsG, 2001-10-19T16:10Z

På sidan som lägger fält för uppdatering kan du göra så här att du loopar ut
alla värden och ger fälten samma namn. 
(Du får nog ordna till layouten lite och anpassa tabellnamn.)

```
'öppna databas
set connect = server.createobject("adodb.connection")
connect.open "dsn"
sql = "select * from spelare"
set recset = connect.execute(sql)
Do Until RecSet.EOF
%>
<B><%=RecSet("fraga")%></B><BR>
<input type="text" SIZE="30" MAXLENGTH="30" VALUE="<%=RecSet("namn")%>" name="namn" CLASS="input"><P>
<input type="text" SIZE="30" MAXLENGTH="30" VALUE="<%=RecSet("mal")%>" name="mal" CLASS="input"><P>
<input type="text" SIZE="30" MAXLENGTH="30" VALUE="<%=RecSet("matcher")%>" name="matcher" CLASS="input"><P>
<input type="text" SIZE="30" MAXLENGTH="30" VALUE="<%=RecSet("gulakort")%>" name="gulakort" CLASS="input"><P>
<input type="hidden" name="id" value="<% =recset("id")%>">
<%
RecSet.MoveNext
Loop

RecSet.Close
connect.close
%>
<P>
```

\--------------------------------------------------------------------------------

På sidan som tar emot formuläret så kan du göra så här för att uppdatera alla
spelare

```

set connect = server.createobject("adodb.connection")
connect.open "dsn"
for i = 1 to request.form("id").count
sql = "update spelare set spelare = '" & replace(request.form("namn")(i),"'","''") & "'" & _
 ", mal = " & request.form("mal")(i) & _
 ", matcher = " & request.form("matcher")(i) & _
 ", gulakort = " & request.form("gulakort")(i) & _
 " where id = " & request.form("id")(i)

connect.execute sql,rows,128

next
connect.close
```

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

## #3 — emil, 2001-10-22T16:36Z

stort tack för hjälpen, har dock problem med nedanstående:
& " where id = " & request.form("id")(i)

denna raden ger syntax error...
någon som har nåt tips?

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

## #4 — LarsG, 2001-10-22T16:55Z

Jo, det blev lite fel.

```
sql = "update spelare set spelare = '" & replace(request.form("namn")(i),"'","''") & "'" & _
 ", mal = " & request.form("mal")(i) & _
 ", matcher = " & request.form("matcher")(i) & _
 ", gulakort = " & request.form("gulakort")(i) & _
 " where id = " & request.form("id")(i)
```

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

## #5 — emil, 2001-10-22T17:21Z

Jag vet inte om det är jag som gör fel men har letat i mina asp böcker och sånt och får inte löst det ;(

An array index is out of range får jag som felmeddelande nu av denna raden:

sql = "update statistik set statistik = '" & replace(request.form("namn")(i),"'","''") & "'" & \_

Sen en fråga till om du orkar lars, skitsjysst att du hjälper mig förresten.
\<%
\=RecSet("fraga")
%\>

Jag får felmeddelande om jag kör med den och var kommer "fraga" in i bilden?

Mvh Emil

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

## #6 — LarsG, 2001-10-22T17:40Z

Det där med recset("fråga") kan du ta bort helt och hållet. (Jag klippte in lite kod från ett annat inlägg.)

Det andra problemet är lite värre.

Kan du lägga in lite traceutskrifter i koden?

```

response.write "Antal id:" & request.form("id").count & "<br>"
response.write "Antal namn:" & request.form("namn").count & "<br>"
response.write "Antal mal:" & request.form("mal").count & "<br>"
response.write "Antal matcher:" & request.form("matcher").count & "<br>"
response.write "Antal gulakort:" & request.form("gulakort").count & "<br>"

for i = 1 to request.form("id").count
response.write "Index :" & i & "<br>"
sql = "update spelare set spelare = '" & replace(request.form("namn")(i),"'","''") & "'" & _
", mal = " & request.form("mal")(i) & _
", matcher = " & request.form("matcher")(i) & _
", gulakort = " & request.form("gulakort")(i) & _
" where id = " & request.form("id")(i)

connect.execute sql,rows,128

next
```

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

## #7 — emil, 2001-10-22T18:00Z

Får exakt samma fel på samma rad.

Tar jag bort den koden och bara har med response.write blir det

Antal id:23
Antal namn:23
Antal amal:0

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

## #8 — LarsG, 2001-10-22T18:04Z

Då verkar det mer bero på den kod där du lägger ut inmatningsformuläret. Hur ser den ut?

Det verkar ha blivit något problem med namngivningen i och med att det inte finns något fält som heter mal.

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

## #9 — emil, 2001-10-22T18:55Z

fick löst det felet nu, verkar nog lösa sig snart men en ny liten skitgrej nu:

connect.execute sql,rows,128

det blir detta felmeddelandet:   generates to few parameters, expected: 1

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

## #10 — LarsG, 2001-10-22T18:58Z

Då brukar det vara något fel på sql-satsen, t.ex. att det är något kolumnnamn som inte stämmer med tabelledefinitionen.

Kan du lägga till en utskrift av sql-strängen?

```
response.write sql
connect.execute sql,rows,128
```

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

## #11 — emil, 2001-10-23T15:24Z

Om jag ignorerar felraden ('connect.execute sql,rows,128)

så skriver den ut följande:

Index :1
update statistik set statistik = 'Emil Jansson', amal = 32 where id = 1Index :2

update statistik set statistik = 'Tomislav Markovic', amal = 23 where id = 2Index :3

osv. för alla i databasen...

( har kortat ner min datbas just under detta testet till att enbart innehålla amal ( alagsmål ) samt spelarens namn, tabellen heter statistik.
Jag har givetvis bytt ut detta överallt i båda asp sidorna.

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

## #12 — emil, 2001-10-23T15:32Z

klipper väl in all kod för sida 1&2 också kanske kan hjälpa är nog bara nåt skitfel som jag inte sett fast jag bläddrat igenom mina böcker som en iller:

1\.asp
\<%
'öppna databas
set connect = server.createobject("adodb.connection")
connect.open "dsn"
sql = "select \* from statistik"
set recset = connect.execute(sql)
Do Until RecSet.EOF
%\>
\<B\>\</B\>\<form method="POST" action="2.asp"\>
\<br\>
\<input type="text" SIZE="18" MAXLENGTH="30" VALUE="\<%=RecSet("namn")%\>" name="namn" CLASS="input"\>
\<input type="text" SIZE="2" MAXLENGTH="2" VALUE="\<%=RecSet("amal")%\>" name="amal" CLASS="input"\>
\<input type="hidden" name="id" value="\<% =recset("id")%\>"\>
\<%
RecSet.MoveNext
Loop
RecSet.Close
connect.close
%\>\<br\>
  \<input type="submit" value="Skicka" name="B1"\>\<input type="reset" value="Återställ" name="B2"\>\</p\>
\</form\>

2\.asp
\<%

set connect = server.createobject("adodb.connection")
connect.open "dsn"

for i = 1 to request.form("id").count
response.write "Index :" & i & "\<br\>"
sql = "update statistik set statistik = '" & replace(request.form("namn")(i),"'","''") & "'" & \_
", amal = " & request.form("amal")(i) & \_
" where id = " & request.form("id")(i)

connect.execute sql,rows,128

next
connect.close

%\>

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

## #13 — LarsG, 2001-10-23T15:35Z

Stämmer det att kolumnen som innehåller spelarens namn heter statistik?

update statistik set statistik = 'Emil Jansson', amal = 32 where id = 1

Sql-satsen ser riktig ut annars.

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

## #14 — emil, 2001-10-23T15:41Z

Fasen där var det ju :-D

Har hängt med sen ditt inlägg nummer 2 inte tänkt på att kolla det, men man lär väl sig på sina misstag.

Vill rikta ett enormt stort tack till dig Lars både från mig och min fotbollsförening som kommer att ha stor glädje av statistiksystemet!
Såna som dig som gör mig glad =)

Tack igen och ha det kanon nu ska jag fortsätta bygga ut dbn =)

Mvh Emil Jansson / Lindome GIF

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12245-uppdatering-av-flera-poster-samtidigt
