webForumDet fria alternativet

Lägga in alla värden från en array i databas.

Databaser & SQL

2 svar · 310 visningar · startad av ConnyFox

Medlem sedan aug. 20011 087 inlägg
Frågan#1

har en select multiple i mitt formulär och får därmed en array med flera värden i som jag vill lägga in i en databas (separata poster, inte i samma fält), hur gör jag detta utan att göra en loop i asp. borde väll gå att göra direkt i mysql frågan istället för så jag gjort här nedanför.

for each user in request.form("users")

Set cmd = server.createobject("adodb.command")
cmd.activeConnection = connect
MySQL = "Insert Into party_users (userID) Values(?)"
cmd.CommandText = MySQL
SET rs = cmd.Execute (, array(user))
set cmd = nothing

next
Medlem sedan dec. 200012 464 inlägg
#2

Du kan antingen bygga ett insertstatement där du anger flera värden

insert into party_users(userID) values(1),(2),(3)

eller så kan du skicka in en array av arrayer till execute. Det kanske finns någon bra metod för att göra om en collection till en array?

Medlem sedan aug. 20011 087 inlägg
#3

Vet aldrig hur många värden jag vill lägga in så i ditt exempel får jag ju loopa för att bygga upp själva sql frågan istället.. iaf om jag förstått det rätt :)

hade bara för mig att det gick att lösa direkt i sql frågan men jag minns kanske fel då :)

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)