funkar ej, kaputt, trasigt

ASP

8 svar · 283 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Trådstart#1

Den här koden är skriven av LarsB, den är till för att ändra ett antal poster när en posts ordning ändras, så att alla poster blir numeriskt rätt, dvs 1,2,3,4,5,6,7,8,9 osv.

Får inte detta att funka:

SSSQL="Select MarkOrder From Markmat Where MarkID="& Request.QueryString("save")
Set mark=Conn.Execute(SSSQL)
If objUpload.Form("MarkOrder") <> mark("MarkOrder") Then
If objUpload.Form("MarkOrder") > mark("MarkOrder") Then
STSQL = "update Markmat set MarkOrder = MarkOrder - 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & mark("markorder") & " + 1 and " & objUpload.Form("MarkOrder")
else 
STSQL = "update Markmat set MarkOrder = MarkOrder + 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & objUpload.Form("MarkOrder") & " and " & mark("markorder") & " - 1 "
End If
conn.execute STSQL
SSSQL = "update markmat set MarkOrder = " & objUpload.Form("MarkOrder") & " where MarkID="& Request.QueryString("save")
conn.execute SSSQL
end if
mark.Close
Set mark=Nothing

Om man ändrar en siffra från 2 till 8 så funkar det men ändrar man från 8 till 2 så blir ordningen 1,2,2,3,4,5,6,7,9

Nån som vet vad felet är???? Please???

Medlem sedan okt. 20005 273 inlägg
#2

Vem är LarsB ;)

Medlem sedan jan. 20013 341 inlägg
#3

sorry LarsG :e

Medlem sedan dec. 19996 721 inlägg
#4

If cInt(objUpload.Form("MarkOrder")) > mark("MarkOrder") Then

Medlem sedan jan. 20013 341 inlägg
#5

Ingen skillnad :(

SSSQL="Select MarkOrder From Markmat Where MarkID="& Request.QueryString("save")
Set mark=Conn.Execute(SSSQL)
If CInt(objUpload.Form("MarkOrder")) <> mark("MarkOrder") Then
If CInt(objUpload.Form("MarkOrder")) > mark("MarkOrder") Then
STSQL = "update Markmat set MarkOrder = MarkOrder - 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & mark("markorder") & " + 1 and " & CInt(objUpload.Form("MarkOrder"))
else 
STSQL = "update Markmat set MarkOrder = MarkOrder + 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & CInt(objUpload.Form("MarkOrder")) & " and " & mark("markorder") & " - 1 "
End If
conn.execute STSQL
SSSQL = "update markmat set MarkOrder = " & CInt(objUpload.Form("MarkOrder")) & " where MarkID="& Request.QueryString("save")
conn.execute SSSQL
end if
mark.Close
Set mark=Nothing
Medlem sedan dec. 19996 721 inlägg
#6

Vi Cint:ar vidare....

If CInt(objUpload.Form("MarkOrder")) <> CInt(mark("MarkOrder")) Then
If CInt(objUpload.Form("MarkOrder")) > CInt(mark("MarkOrder")) Then

Det verkar nämligen som att den alltid går in i första satsen.

Medlem sedan jan. 20013 341 inlägg
#7

Nu är allt CInt:at
Men ingen skillnad :(

SSSQL="Select MarkOrder From Markmat Where MarkID="& Request.QueryString("save")
Set mark=Conn.Execute(SSSQL)
If CInt(objUpload.Form("MarkOrder")) <> CInt(mark("MarkOrder")) Then
If CInt(objUpload.Form("MarkOrder")) > CInt(mark("MarkOrder")) Then
STSQL = "update Markmat set MarkOrder = MarkOrder - 1 where MarkBel="& CInt(mark("MarkBel")) &" AND MarkOrder between " & CInt(mark("markorder")) & " + 1 and " & CInt(objUpload.Form("MarkOrder"))
else 
STSQL = "update Markmat set MarkOrder = MarkOrder + 1 where MarkBel="& CInt(mark("MarkBel")) &" AND MarkOrder between " & CInt(objUpload.Form("MarkOrder")) & " and " & CInt(mark("markorder")) & " - 1 "
End If
conn.execute STSQL
SSSQL = "update markmat set MarkOrder = " & CInt(objUpload.Form("MarkOrder")) & " where MarkID="& Request.QueryString("save")
conn.execute SSSQL
end if
mark.Close
Set mark=Nothing
Medlem sedan jan. 20013 341 inlägg
#8

Konstigt, på en annan sida har jag det här, och det funkar:

SSSQL="Select MarkPathOrder From MarkPath Where MarkPathID="& Request.QueryString("saveMapp")
Set mark=Conn.Execute(SSSQL)
If CInt(Request.Form("Order")) <> CInt(mark("MarkPathOrder")) Then
	If CInt(Request.Form("Order")) > CInt(mark("MarkPathOrder")) Then
		STSQL = "update MarkPath set MarkPathOrder = MarkPathOrder - 1 where MarkPathOrder between " & CInt(mark("MarkPathOrder")) & " + 1 and " & CInt(Request.Form("Order"))
	else
		STSQL = "update MarkPath set MarkPathOrder = MarkPathOrder + 1 where MarkPathOrder between " & CInt(Request.Form("Order")) & " and " & CInt(mark("MarkPathOrder")) & " - 1 "
	End If
		Conn.Execute STSQL
end if
		SQL1="Update MarkPath Set MarkPathName='"& replace (Request.Form("App"), "'", "''") &"', MarkPathOrder='"& replace (Request.Form("Order"), "'", "''") &"' Where MarkPathID="& Request.QueryString("saveMapp")
		Conn.Execute(SQL1)
mark.Close
Set mark=Nothing
Medlem sedan jan. 20013 341 inlägg
#9

ingen som vet?

269 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
146 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)