webForumDet fria alternativet

Redigera information!

4 svar · 158 visningar · startad av d@le

d@leMedlem sedan juni 2001329 inlägg
#1

Tjena, har utifrån information på forumet försökt få till en UPDATE utav min databas, men lyckas inte få ihop det.

<%
artikel_rubrik = Request.Form("artikel_rubrik")
artikel_text = Request.Form("artikel_text")
artikel_kategori = Request.Form("artikel_kategori")
%>

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/nyheter_databasen.mdb")
SQL = "UPDATE artikel SET " 
SQL = SQL & "artikel_rubrik = '" & Request.Form("artikel_rubrik") & "', "
SQL = SQL & "artikel_text = '" & Request.Form("artikel_text") & "', "
SQL = SQL & "artikel_kategori = '" & Request.Form("artikel_kategori") & "', "
SQL = SQL & " where artikel_id =" & Request.Querystring("artikel_id")
[b]response.write sql[/b]
Connection.Execute(SQL)
%>

<font face="verdana, arial">
<b>Artikeln har nu ändrats till:</b>
<br><br>
<%=("artikel_rubrik")%> - <%=("artikel_kategori")%>
<br>
<%=Replace(("artikel_text"),vbcrlf,"<br>")%>

<%
Connection.Close 
Set Connection = Nothing 
%>

Har även skrivit ut, response.write som ni ser, och all information som ska vara där finns där. Felmeddelandet blir följande,

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/test/update_artikel.asp, line 28

Mvh
Danne

@ndersMedlem sedan juni 200032 969 inlägg
#2

Hur ser den färdiga SQL-frågan ut då?

@ndersMedlem sedan juni 200032 969 inlägg
#3

Och varför använder du inte variablerna du skapar överst?

m_soderlundMedlem sedan sep. 20026 425 inlägg
#4

Det kan vara problem med att '-tecken finns med i datan som sätts in i databasen. De är inte tillåtna - du får köra funktionen nedan på den infon du tar emot från formuläret. Dessutom borde du heller inte tillåta HTML-kod..

Funktion:

Function Fix(str)
str = Replace(str,"'","''")
str = Server.HTMLEncode(str)
Fix = str
End Function

Smidigare övrig kod:

artikel_rubrik = Fix(Request.Form("artikel_rubrik"))
artikel_text = Fix(Request.Form("artikel_text"))
artikel_kategori = Fix(Request.Form("artikel_kategori"))

Connection.Execute("UPDATE artikel" & _
" SET artikel_rubrik = '" & artikel_rubrik & "', " & _
"artikel_text = '" & artikel_text & "', " & _
"artikel_kategori = '" & artikel_kategori & "'" & _
" WHERE artikel_id =" & Fix(Request.Querystring("artikel_id"))),,128
d@leMedlem sedan juni 2001329 inlägg
#5

Tackar så väldigt! Nu fungerar det kanon! :)

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