WickmarkMedlem sedan juli 2003162 inlägg Hej,
Jag håller på att skriva ett (till) forum. Jag har precis börjat, och håller på med forumkategoriernas administrationssystem.
Alla kategorier samlas i en databastabell med namnet:
F_CAT
och de sorteras med hjälp av en siffra, som placeras i kolumnen:
POSITION
Det jag har problem med är när jag ska lägga till en ny kategori på en position som redan finns! Då måste ju alla siffror på och efter siffran adderas med en.
Det enda systemet jag kommer på, är detta:
RecSet.MoveFirst
for i = 1 to Request.Form("POSITION") - 1
RecSet.MoveNext
next
Do Until RecSet.EOF
RecSet("POSITION") = RecSet("POSITION") + 1
RecSet.MoveNext
Loop
Request.Form("POSITION") innehåller såklart positionssiffran.
Problemet är bara att själva koden är ganska dålig + jag vet inte om den funkar.
Är detta sättet bra? eller går det skriva på något annat sätt?
@ndersMedlem sedan juni 200032 969 inlägg Det räcker med en enda updatesats för att uppdatera positionsnumret för de kategorier som skall flyttas.
strSQL = "UPDATE tabellen SET position = position+1 WHERE position >= " & denvaldapositionen
Hängerume'?
WickmarkMedlem sedan juli 2003162 inlägg
@nders skrev:
Det räcker med en enda updatesats för att uppdatera positionsnumret för de kategorier som skall flyttas.
strSQL = "UPDATE tabellen SET position = position+1 WHERE position >= " & denvaldapositionen
Hängerume'?
Jo, nog hänger jag med! Denna SQL sats uppdaterar alla positionsfält vars siffra är samma som denvaldapositionen eller större.
Vädligt smart!!
Trodde aldrig det gick med en SQL sats!
TACK!
WickmarkMedlem sedan juli 2003162 inlägg Något som kanske är värt att lägga till är att man måste 'inklammra' position. Märkte det; är visst ngt SQL kommando.
strSQL = "UPDATE tabellen SET [position] = [position]+1 WHERE [position] >= " & denvaldapositionen
@ndersMedlem sedan juni 200032 969 inlägg Det är bättre att byta namn på fältet än att klamra.
Bra länk: http://aspfaq.com/show.asp?id=2080
Mvh