|
| Problem med udtræk fra/indsæt i database Fra : Belial |
Dato : 26-03-04 17:10 |
|
Jeg skal fra en database have udtrukket de varer der lagt i kurven fra én
tabel ("cart") og sat ind i en anden ("orders"). Dette fungerer også fint.
Problemet er bare, at hvis man har lagt mere end én vare i kurven, så bliver
alle 3 varer ikke sat ind i tabellen, men derimod bliver den sidste af de 3
varer sat 3 gange ind. Jeg kan ikke helt greje hvordan jeg får det rettet.
Nogen der kan hjælpe? Udsnit af koden er:
sql = "Select cart_id, cart_userID, cart_productID, cart_quantity from cart
WHERE cart_userID =" & Session.SessionID
Set objRS = Connect.Execute(sql)
strCartID = objRS("cart_id")
strCartProdID = objRS("cart_productID")
strCartQuantity = objRS("cart_quantity")
strDato = NOW()
Do until objRS.eof <---- Her skulle gerne indsætte de 3 forskellige
varer
sqlString = "INSERT INTO orders (order_id, order_productID, order_quantity,
order_userID, order_entrydate, order_status) " &_
"VALUES (" & strCartID & ", " & strCartProdID & ", " & strCartQuantity & ",
" & strUserID & ", #" & strDato & "#, 0);"
Connect.Execute sqlString
objRS.MoveNext
loop
| |
finn elmgaard (26-03-2004)
| Kommentar Fra : finn elmgaard |
Dato : 26-03-04 19:49 |
|
"Belial" <666_NOSPAM@esenet.dk> wrote in message
news:406455c0$0$210$edfadb0f@dread11.news.tele.dk...
> sql = "Select cart_id, cart_userID, cart_productID, cart_quantity from
cart
> WHERE cart_userID =" & Session.SessionID
> Set objRS = Connect.Execute(sql)
>
> strCartID = objRS("cart_id")
> strCartProdID = objRS("cart_productID")
> strCartQuantity = objRS("cart_quantity")
> strDato = NOW()
>
> Do until objRS.eof <---- Her skulle gerne indsætte de 3 forskellige
> varer
>
> sqlString = "INSERT INTO orders (order_id, order_productID,
order_quantity,
> order_userID, order_entrydate, order_status) " &_
> "VALUES (" & strCartID & ", " & strCartProdID & ", " & strCartQuantity &
",
> " & strUserID & ", #" & strDato & "#, 0);"
>
> Connect.Execute sqlString
>
> objRS.MoveNext
> loop
>
>
Det ser ud som om du gør følgende:
Udtræk data fra cart-tabel
Læg data (for én record) over i en variabel
Indsæt denne variabel "until objRS.eof"
Men variablen indeholder kun én værdi. Derfor får du den samme værdi indsat
flere gange. Hver gang du Move.Next.
Hvis du vil bibeholde princippet med at lægge værdien fra recordsættet over
i en variabel ( f.eks. af hensyn til overskueligheden af din SQL-sætning)
skal tildelingen af værdien til variablen ind i Do-Loop løkken, så den
bliver opdateret for hver loop.
mvh
Finn
| |
Belial (26-03-2004)
| Kommentar Fra : Belial |
Dato : 26-03-04 22:35 |
|
> Hvis du vil bibeholde princippet med at lægge værdien fra recordsættet
over
> i en variabel ( f.eks. af hensyn til overskueligheden af din SQL-sætning)
> skal tildelingen af værdien til variablen ind i Do-Loop løkken, så den
> bliver opdateret for hver loop.
Jamen selvfølgelig! Tak for hjælpen.
| |
|
|