webForumDet fria alternativet

Positioneringssystem

4 svar · 262 visningar · startad av Wickmark

WickmarkMedlem sedan juli 2003162 inlägg
#1

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
#2

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
#3

@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
#4

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
#5

Det är bättre att byta namn på fältet än att klamra.

Bra länk: http://aspfaq.com/show.asp?id=2080

Mvh

135 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)