Alle rækker i db skal + 1 i en løkke
HejJeg har lidt problemer med nedenstående kode.
Hver nyhed har et orderId som bestemmes af brugeren. Når der oprettes en nyhed afvikles nedenstående kode. Det er meningen af den nye nyhed får orderId 1 og at de andre nyheder får order + 1. Jeg kan dog desværre ikke få nedenstående til at virke.
Det er både testet med en For-løkke og men en Do until. Begge eksempler er indsat.
IF Request.QueryString("action") = "opret" THEN
'Alle nyheder til opdatering af orderId
strSQL = "SELECT orderId FROM news ORDER BY orderId ASC"
Set rsOrderId = Conn.Execute(strSQL)
'Antal nyheder
strSQL = "SELECT COUNT(newsId) AS antal FROM news"
Set rsAntalOrderId = Conn.Execute(strSQL)
antalOrderId = rsAntalOrderId("antal")
DO UNTIL counter = antalOrderId
counter = 1
Conn.Execute ("UPDATE news SET orderId = " & counter + 1 & " WHERE orderId = " & counter & "")
counter = counter + 1
LOOP
orderId = 1
Conn.Execute ( "INSERT INTO news (headline, [note], orderId, createdBy, createdDate) VALUES ('Skriv overskrift', ' ', " & orderId & ", '" & Session("userId") & "', '" & ConvertDate("mm-dd-yyyy hh:nn:ss") & "')" )
Set rsNewsId = Conn.Execute("SELECT @@IDENTITY AS newsId")
Response.Redirect "update.asp?newsId=" & rsNewsId("newsId") & ""
END IF
========================
IF Request.QueryString("action") = "opret" THEN
'Alle nyheder til opdatering af orderId
strSQL = "SELECT orderId FROM news ORDER BY orderId ASC"
Set rsOrderId = Conn.Execute(strSQL)
'Antal nyheder
strSQL = "SELECT COUNT(newsId) AS antal FROM news"
Set rsAntalOrderId = Conn.Execute(strSQL)
antalOrderId = rsAntalOrderId("antal")
For t = 1 to antalOrderId
Conn.Execute ("UPDATE news SET orderId = " & t + 1 & " WHERE orderId = " & t & "")
Next
orderId = 1
Conn.Execute ( "INSERT INTO news (headline, [note], orderId, createdBy, createdDate) VALUES ('Skriv overskrift', ' ', " & orderId & ", '" & Session("userId") & "', '" & ConvertDate("mm-dd-yyyy hh:nn:ss") & "')" )
Set rsNewsId = Conn.Execute("SELECT @@IDENTITY AS newsId")
Response.Redirect "update.asp?newsId=" & rsNewsId("newsId") & ""
END IF