/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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.



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste