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 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 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.
Så hur ska jag ändra raden då?
UlfTMedlem sedan maj 20018 027 inlägg 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.
Där var det samma problem som innan...hmmmmm
UlfTMedlem sedan maj 20018 027 inlägg Egentligen är det bästa att du håller reda på vilken primärnyckel (id) du har på posten du vill ändra.
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 <%
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.