webForumDet fria alternativet

Varför fungerar inte updatesatsen

8 svar · 238 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1

Jag hämtar all data från databasen i en fil med koden

<%
Set conn = Server.CreateObject("ADODB.connection")
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Mainsite"
conn.Open connstr
RS.Open SQL, conn
conn.Execute(SQL)
'response.write SQL
%>  
[kod]

När jag sen redigerar texten och klickar på uppdatera så skickas det vidare till en annan sida som innehåller koden
[kod]
<!-- #include virtual="/sökvägen till min connstr" -->

<%
    Set conn = Server.CreateObject("ADODB.connection")
    conn.Open connstr

    colStart = Request.Form("TextAreaStart")

    SQL = "UPDATE Mainsite SET colStart='" & TextAreaStart & "'"
    SQL = SQL & " WHERE colStart ='" & TextAreaStart & "'"
	
conn.Execute(SQL)
conn.Close 'Stänger kopplingen
Response.Redirect("/asp/Admin/main.asp") 'Skickar vidare till vald sida
%>

Felet är att när jag skickas tillbaka här till den ursprungliga sidan så har inte den redigerade datan sparats

UlfTMedlem sedan maj 20018 027 inlägg
#2
    SQL = "UPDATE Mainsite SET colStart='" & TextAreaStart & "'"
    SQL = SQL & " WHERE colStart ='" & TextAreaStart & "'"

Här sätter du ju bara texten till "TextAreaStart" på de ställen där den redan är "TextAreaStart". Det innebär ingen som helst förändring av databasinnehållet.

solbulleMedlem sedan mars 20015 287 inlägg
#3

Vidare så var ger du variabeln TextAreaStart något värde?

Du plockar däremot formfältet TextAreaStart till en variabel som du döper till colStart.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#4

Så hur ska jag ändra raden då?

UlfTMedlem sedan maj 20018 027 inlägg
#5

Förslagsvis till

SQL = "UPDATE Mainsite SET colStart='" & colStart & "'"
SQL = SQL & " WHERE colStart ='" & TextAreaStart & "'"

Fast det förutsätter ju att den gamla texten redan finns i variabeln "TextAreaStart". Du måste alltså hålla reda på vad som fanns där tidigare.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#6

Där var det samma problem som innan...hmmmmm

UlfTMedlem sedan maj 20018 027 inlägg
#7

Egentligen är det bästa att du håller reda på vilken primärnyckel (id) du har på posten du vill ändra.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#8

NU skrev jag ut sql-satsen
<%
Dim intId
Set conn = Server.CreateObject("ADODB.connection")
conn.Open connstr

colStart = Request.Form("TextAreaStart")

strForm = Request.Form("TextAreaStart")
intId = Session("colID")

SQL = "UPDATE Mainsite SET colStart='" & TextAreaStart & "' WHERE colID=" & intId
response.write(SQL)
conn.Close 'Stänger kopplingen
'Response.Redirect("/asp/Admin/main.asp") 'Skickar vidare till vald sida
%>

och fick

UPDATE Mainsite SET colStart='' WHERE colID=1

Här ser jag att värdena inte följer med.....hur skriver jag om det för att det redigerade värdet ska sparas?

solbulleMedlem sedan mars 20015 287 inlägg
#9
<%
Dim intId
Set conn = Server.CreateObject("ADODB.connection")
conn.Open connstr

colStart = Request.Form("TextAreaStart")

intId = Session("colID") 

SQL = "UPDATE Mainsite SET colStart='" & colStart & "' WHERE colID=" & intId
response.write(SQL)
conn.Close 'Stänger kopplingen
'Response.Redirect("/asp/Admin/main.asp") 'Skickar vidare till vald sida
%>

Som tidigare sagt måste du ju använda dig av den variabeln som du har något i.

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)