Försöker lägga till flera poster i en Access databas samtidigt men har stött på ett problem.
Datan läggs in så här i dbn:
Kolumnerna: PlayerID | Team | CompId
1. John Doe | Stockholm, Stockholm | 2
2. Jane Doe | Stockholm, Stockholm | 2
3. Stockholm, Stockholm | Stockholm, Stockholm | 2
Ovan blir resultatet av två inlagda spelare. Post nummer 3 skall inte finnas med, varför kommer den in i databasen?
<%
'Här ovan ligger en databaskoppling
For Each Name In Request.Form
PlayerID = Request.Form("PlayerID")
CompID = Request.Querystring("CompID")
Team = Request.Form("Team")
Conn.Execute("Insert Into tbl_score(PlayerID,Team,CompID) VALUES ('"& Request.Form(Name) &"','"& Team &"', "& CompID &")")
Next %>
Så här vill jag att det skall se ut när man lägger in två spelare:
John Doe | Stockholm | 2
Jane Doe | Stockholm | 2
Du loopar med "For Each Name In Request.Form", vilket innebär ett loopvarv per element i formuläret, men så hämtar du ändå samma formulärelement varje gång...
Du måste ge ASP en chans att identifiera de unika formulärelementen. Annars får all elementdata hopbakad.
<%
'Namnge elementen "PlayerID_1", "CompID_1", "Team_1" etc, och inkludera ett hiddenfält per "post" med namnet "Counter" och värdet "1", "2" etc.
'Här ovan ligger en databaskoppling
For Each Counter In Request.Form("Counter")
PlayerID = Request.Form("PlayerID_" & Counter )
CompID = Request.Querystring("CompID_" & Counter )
Team = Request.Form("Team_" & Counter )
Conn.Execute("Insert Into tbl_score(PlayerID,Team,CompID) VALUES ('"& Replace(PlayerID,"'","''") &"','"& Replace(Team,"'","''")&"', "& cint(CompID) &")")
Next %>