/ 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
Reverse do while loop?
Fra : Jacob Nielsen


Dato : 10-11-02 01:00

Hej

Ja, det lyder dumt, men jeg skal ha' kørt en Do While loop igennem bagfra.

Problemet er som følger:
Jeg har en database hvor min menu ligger. Nu er jeg så ved at lave en sql
sætning der sætter et nyt menupunkt ind. Hvert menupunkt har et nummer, og
menuen bliver udskrevet i numerisk rækkefølge. Hvis man så sætter et nyt
menupunkt ind imellem to eksisterende skal resten af punkternes numre
adderes med 1. Så langt så godt. Problemet er bare at det kan jeg ikke
rigtigt få til at virke. Her er et eksempel på SQL-sætningerne når de er
skrevet ud:

strSQL: SELECT * FROM menu_skjoni WHERE menu_parent_id = 2 LIMIT 4,-1
strSQLUpdate: UPDATE menu_skjoni SET pid = 206 WHERE pid = 205
strSQLUpdate: UPDATE menu_skjoni SET pid = 207 WHERE pid = 206

strSQLUpdate bliver udskrevet i en Do While løkke, men hvis ovenstående
bliver executet vil jeg ende op med to rækker hvor pid nummeret er 207.

Her er koden:

strSQL = "SELECT * FROM menu_skjoni WHERE menu_parent_id = " &
Left(intPid,1) & " LIMIT " & intLimit & ",-1"

Set rs = Conn.Execute(strSQL)

Response.Write "<strong>strSQL:</strong> " & strSQL & "<br>" & vbCrlf

Do

strSQLUpdate = "UPDATE menu_skjoni SET pid = " & rs("pid")+1 & " WHERE pid =
" & rs("pid")
Response.Write "<strong>strSQLUpdate:</strong> " & strSQLUpdate & "<br>" &
vbCrlf
Set rs2 = Conn.Execute(strSQLUpdate)

rs.MoveNext

Loop while not rs.EOF

Håber det giver mening.

Mvh. Jacob



 
 
WebLock (10-11-2002)
Kommentar
Fra : WebLock


Dato : 10-11-02 11:28

> strSQLUpdate: UPDATE menu_skjoni SET pid = 206 WHERE pid = 205
> strSQLUpdate: UPDATE menu_skjoni SET pid = 207 WHERE pid = 206

Kan den ikke laves således, så du kun skal opdatere én gang ?
strSQLUpdate: UPDATE menu_skjoni SET pid = pid+1 WHERE pid => 205

Webber



Jacob Nielsen (10-11-2002)
Kommentar
Fra : Jacob Nielsen


Dato : 10-11-02 23:20


"WebLock" <skummelREMO@VEgadefejer.dk> wrote in message
news:3dce3489$0$16077$edfadb0f@dread11.news.tele.dk...
> > strSQLUpdate: UPDATE menu_skjoni SET pid = 206 WHERE pid = 205
> > strSQLUpdate: UPDATE menu_skjoni SET pid = 207 WHERE pid = 206
>
> Kan den ikke laves således, så du kun skal opdatere én gang ?
> strSQLUpdate: UPDATE menu_skjoni SET pid = pid+1 WHERE pid => 205

Hej

Nej, det duer desværre ikke :(

Men tak for forslaget.

Mvh. Jacob



Jakob Andersen (11-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 11-11-02 15:57

"Jacob Nielsen" <jacob.nielsenREMOVE@REMOVEget2net.dk> wrote
> Nej, det duer desværre ikke :(

Hvorfor ikke, det var da ellers en ret god løsning.

--
Jakob Andersen



Jacob Nielsen (14-11-2002)
Kommentar
Fra : Jacob Nielsen


Dato : 14-11-02 19:05

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:aqogd5$1tbp$1@news.cybercity.dk...
> "Jacob Nielsen" <jacob.nielsenREMOVE@REMOVEget2net.dk> wrote
> > Nej, det duer desværre ikke :(
>
> Hvorfor ikke, det var da ellers en ret god løsning.

Jeg var vist lidt for hurtig :) Den virker fint (efter lidt tilretning).

Så mange tak :)



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

Månedens bedste
Årets bedste
Sidste års bedste