webForumDet fria alternativet
Logga in / Bli medlem

Positioneringssystem

ASP

4 svar · 264 visningar · startad av Wickmark

Medlem sedan juli 2003162 inlägg
Trådstart#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?

Medlem sedan juni 200032 967 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'?

Medlem 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!

Medlem 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
Medlem sedan juni 200032 967 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

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)