webForumDet fria alternativet

Ändra post som inte finns...

ASP

3 svar · 185 visningar · startad av Karin_Parin

Medlem sedan okt. 200332 inlägg
Frågan#1

Hej!
I could need some help.. ;)
Jag har ett formulär där jag vill kunna ändra en post där SiteID finns med. Dem enda siffrorna som finns som SiteID just nu är 1 och 2.
Så om man ändrar och råkar skriva ex. 8 så vill jag få fram meddelandet att SiteIDt är ogiltligt, se nedan.
Det som händer nu är att jag får felmeddelande om att antingen EOF eller BOF satt till true osv.

Tack!

SiteID = Request.Form("SiteID")

If(SiteID <> (RS("SiteID")))Then
	Response.Write("<p>Ogiltigt SiteID, prova på nytt.</p>")
	Response.Write("<a href=""change.asp"">Tillbaka</a>")
Else

Set RS = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM tblBudget" 
	RS.Open SQL, Conn, adOpenStatic, adLockOptimistic

Hittad = True

Do Until RS.EOF OR Hittad
	If(StrComp(RS("SiteID"),SiteID,vbTextCompare)=0) Then
		Hittad = True
	Else
	 RS.MoveNext
	End If
Loop

RS("Budget") = request.form("Budget")
RS("Goal") = request.form("Goal")
RS("StartDate") = request.form("StartDate")
RS("SlutDate") = request.form("SlutDate")
RS("SiteID") = request.form("SiteID")
RS.Update

Response.Write("<p>Ändrat!</p>")
Response.Write("<a href=""admin.asp"">Tillbaka</a>")
End if
Medlem sedan nov. 20017 144 inlägg
#2

Vadå? Så siteId kan bara ha två värden?
I sådana fall är det ju bättre med en bolean, eller?

Medlem sedan dec. 200012 464 inlägg
#3
sql = "update tblBudget " & _
" set budget = " & request.form("Budget") & "," &  _
"Goal = " & request.form("Goal") & "," &  _
"StartDate = '" & request.form("StartDate") & "'," & _
"SlutDate = '" & request.form("SlutDate") & "'" & _
" where siteid = " & request.form("SiteID")
conn.execute sql,rows,128
if  rows = 0 then 
    Response.Write("<p>Ogiltigt SiteID, prova på nytt.</p>")
    Response.Write("<a href=""change.asp"">Tillbaka</a>")
Else
    Response.Write("<p>Ändrat!</p>")
    Response.Write("<a href=""admin.asp"">Tillbaka</a>")
End if

Att skriva så som du gjorde är verkligen ineffektivt.

Medlem sedan okt. 200332 inlägg
#4

Att skriva så som du gjorde är verkligen ineffektivt

Ja så är det när man inte riktigt vet hur det funkar, tur att WF finns.... :)
Okej, men nu fungerar det nästan. Det är så att jag ska kunna ändra en post och pendla mellan siffran 1 & 2 i SiteID, men inte någon högre siffra. Och nu kan jag bara ändra om jag skriver in siffran 1. Varför det är bara de två värderna är för att tabellen är kopplad mot andra tabeller som innehåller SiteID 1 eller 2.

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)