webForumDet fria alternativet

Sql update

12 svar · 220 visningar · startad av dahlgren

dahlgrenMedlem sedan aug. 20011 946 inlägg
#1

Hur ska jag göra om detta till en update sats? Någon som kan hjälpa mig? Gärna tillvägagånssättet så jag klarar av det själ ifall det skulle behövas flera gånger.

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Uppdatera = "SELECT * FROM login WHERE ID = " & Request.Form("dold") & " "
   RecSet.Open Uppdatera, Conn, adOpenStatic, adLockOptimistic 

	RecSet("adress") = Request.Form("adress")
	RecSet("telhem") = Request.Form("telhem")
	RecSet("mobil") = Request.Form("mobil")
	RecSet("email") = Request.Form("email")
	RecSet("icq") = Request.Form("icq")
	RecSet("msn") = Request.Form("msn")
erkaMedlem sedan dec. 19996 522 inlägg
#2

UPDATE login SET Kolumnnamn = '"& Request.Form("XXX") &"',Kolumnnamn = '"& Request.Form("XXX") &"' ,Kolumnnamn = '"& Request.Form("XXX") &"' ,Kolumnnamn = '"& Request.Form("XXX") &"' ,Kolumnnamn = '"& Request.Form("XXX") &"' ,Kolumnnamn = '"& Request.Form("XXX") &"' WHERE ID = "& Request.Form("dold") &"

Engine^Medlem sedan dec. 20003 887 inlägg
#3
Uppdatera = "UPDATE login SET adress = '" & Request.Form("adress") & "', telhem = '"& Request.Form("telhem") & _
  "', mobil = '" & Request.Form("mobil") & "', email = '" & Request.Form("email") & _
  "', icq = " & Request.Form("icq") & ", msn = '" & Request.Form("msn") & _
  "' WHERE ID = " Request.Form("dold")

Conn.Execute Uppdatera, , adExecuteNoRecords

Dvs:
UPDATE tabellnamn
SET kolumnnamn1 = värde, kolumnnamn2 = värde, ..., kolumnnamnn = värde
WHERE kolumnnamn = värde

dahlgrenMedlem sedan aug. 20011 946 inlägg
#4

När jag prövar Engine^s kod dyker detta upp
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/dweb/intern/adresser/uppdat_adr.asp, line 12

"' WHERE ID = " Request.Form("dold")
----------------^

m_soderlundMedlem sedan sep. 20026 425 inlägg
#5

Ett missat &. Sök alltid på Google om du inte hittar felet direkt.

Uppdatera = "UPDATE login SET adress = '" & Request.Form("adress") & "', telhem = '"& Request.Form("telhem") & _
  "', mobil = '" & Request.Form("mobil") & "', email = '" & Request.Form("email") & _
  "', icq = " & Request.Form("icq") & ", msn = '" & Request.Form("msn") & _
  "' WHERE ID = " [b]&[/b] Request.Form("dold")

Conn.Execute Uppdatera, , adExecuteNoRecords
dahlgrenMedlem sedan aug. 20011 946 inlägg
#6

Tack, tycker att det är helt omöjligt att hålla kolla på fnuttar och &-tecken

Engine^Medlem sedan dec. 20003 887 inlägg
#7

Aaargh... missade sista &-tecknet... typiskt x(

dahlgrenMedlem sedan aug. 20011 946 inlägg
#8

Nu händer det konstiga saker här. När jag kör koden nedan så laddas sidan om hela tiden. Lyckas inte se varför, misstänker att det har med min if-sats att göra. Nån som ser felet?

<%
Uppdatera = "UPDATE login SET adress = '" & Request.Form("adress") & "', telhem = '"& Request.Form("telhem") & _
  "', mobil = '" & Request.Form("mobil") & "', email = '" & Request.Form("email") & _
  "', icq = " & Request.Form("icq") & ", msn = '" & Request.Form("msn") & _
  "' WHERE ID = " & Request.Form("dold")

	if request.form("oldpwd")= Session("Password")and request.form("newpwd")=request.form("newpwd2") Then
		if not request.form("newpwd")="" then
		upp= "update login SET Password= '" & Request.Form("newpwd") & "' WHERE ID = " & Request.Form("dold")
		dim strpwd
		strpwd="true"
		end if
	else
	response.write "De lösenord du angav stämmer inte."
	end if
Conn.Execute Uppdatera, , adExecuteNoRecords
	Conn.Close
 	
 	response.redirect "adress.asp?m=ledare&pwd=" & strpwd
	 %>
m_soderlundMedlem sedan sep. 20026 425 inlägg
#9

Du kanske skulle sätta response.redirect "adress.asp?m=ledare&pwd=" & strpwd efter första end if-blocket?
Som det är nu skickas besökaren vidare oavsett om lösenordet stämde eller ej.

/r Ser nu att hela din kod är lite grötig, men jag har inte tid att koda om den. Kanske nån annan får tid? Lycka till!

m_soderlundMedlem sedan sep. 20026 425 inlägg
#10

Kanske så här:

<%
Uppdatera = "UPDATE login SET adress = '" & Request.Form("adress") & "', telhem = '"& Request.Form("telhem") & _
  "', mobil = '" & Request.Form("mobil") & "', email = '" & Request.Form("email") & _
  "', icq = " & Request.Form("icq") & ", msn = '" & Request.Form("msn") & _
  "' WHERE ID = " & Request.Form("dold")

	if request.form("oldpwd")= Session("Password")and request.form("newpwd")=request.form("newpwd2") Then
		if not request.form("newpwd")="" then
		upp= "update login SET Password= '" & Request.Form("newpwd") & "' WHERE ID = " & Request.Form("dold")
		dim strpwd
		strpwd="true"
		end if
Conn.Execute Uppdatera, , adExecuteNoRecords
	Conn.Close
 	
 	response.redirect "adress.asp?m=ledare&pwd=" & strpwd
	else
	response.write "De lösenord du angav stämmer inte."
	end if
	 %>

...?

dahlgrenMedlem sedan aug. 20011 946 inlägg
#11

Nu fungarer det lite bättre, fast lösenordet ändras inte.

m_soderlundMedlem sedan sep. 20026 425 inlägg
#12

Det står ju upp="..sql-koden", men det ska ju vara uppdatera="..sql-koden". Det gäller att inte vara trött eller slarvig när man kodar!

Jag lyckades med att koda min förra nya sajt (version 3 av Dileno.) i princip varje natt fram till 02.00, från i slutet av augusti -02 till 24 november - 02. Jag gick oftast upp mellan 07 och 09 också.. Koncentration behövs för att det ska gå bra! :)

m_soderlundMedlem sedan sep. 20026 425 inlägg
#13

Den färdiga koden borde alltså se ut så här:

<%
Uppdatera = "UPDATE login SET adress = '" & Request.Form("adress") & "', telhem = '"& Request.Form("telhem") & _
  "', mobil = '" & Request.Form("mobil") & "', email = '" & Request.Form("email") & _
  "', icq = " & Request.Form("icq") & ", msn = '" & Request.Form("msn") & _
  "' WHERE ID = " & Request.Form("dold")

	if request.form("oldpwd")= Session("Password")and request.form("newpwd")=request.form("newpwd2") Then
		if not request.form("newpwd")="" then
		[b]uppdatera[/b]= "update login SET Password= '" & Request.Form("newpwd") & "' WHERE ID = " & Request.Form("dold")
		dim strpwd
		strpwd="true"
		end if
Conn.Execute Uppdatera, , adExecuteNoRecords
	Conn.Close
 	
 	response.redirect "adress.asp?m=ledare&pwd=" & strpwd
	else
	response.write "De lösenord du angav stämmer inte."
	end if
	 %>
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)