svenMedlem sedan aug. 2001383 inlägg Hjälp mig någon. Har suttit fast med detta en tid....
Jag hämtar data till ett formulär. Detta funkar bra. Men när man sen skall uppdatera får jag bara internt serverfel...
Formuläret ser ut så här:
<html>
<head>
<!-- #include file="../../connection.asp" -->
<!-- #include file="../../text.css" -->
</head>
<body>
\<%
ful = Request.Querystring("do")
SQL = "SELECT \* FROM om WHERE ID LIKE '" & ful & "'"
set rs = db.Execute(SQL)
%\>
<form method="POST" action="updateproj.asp">
<table border="0" width="100%">
<input type="hidden" name="ID" value=<%=rs("ID")%>>
<tr>
<td width="15%">Rubrik</td>
<td width="85%"><input type="text" name="rubrik" size="50" value="<%=rs("rubrik")%>"></td>
</tr>
<tr>
<td width="15%">Underrubrik</td>
<td width="85%"><input type="text" name="underrubrik" size="50" value="<%=rs("underrubrik")%>"></td>
</tr>
<tr>
<td width="15%">Bakgrund</td>
<td width="85%"><textarea rows="10" name="bakgrund" cols="38"><%=rs("bakgrund")%></textarea></td>
</tr>
<tr>
<td width="15%">Text</td>
<td width="85%"><textarea rows="10" name="text" cols="38"><%=rs("text")%></textarea></td>
</tr>
<tr>
<td width="15%">Kontaktperson</td>
<td width="85%"><input type="text" name="kontaktperson" size="50" value="<%=rs("kontaktperson")%>"></td>
</tr>
<tr>
<td width="15%">E-post</td>
<td width="85%"><input type="text" name="mail" size="50" value="<%=rs("mail")%>"></td>
</tr>
<tr>
<td width="15%">Organisation</td>
<td width="85%"><input type="text" name="organisation" size="50" value="<%=rs("organisation")%>"></td>
</tr>
<tr>
<td width="15%">Adress</td>
<td width="85%"><input type="text" name="adress" size="50" value="<%=rs("adress")%>"></td>
</tr>
<tr>
<td width="15%">Postnummer</td>
<td width="85%"><input type="text" name="postnummer" size="50" value="<%=rs("postnummer")%>"></td>
</tr>
<tr>
<td width="15%">Postadress</td>
<td width="85%"><input type="text" name="postadress" size="50" value="<%=rs("postadress")%>"></td>
</tr>
<tr>
<td width="15%"></td>
<td width="85%"><input type="submit" value="Skicka" name="update"></td>
</tr>
</table>
</form>
<%
db.close
%>
</body>
</html>
Sen kommer uppdateringen
<% Response.Buffer = True %>
<!-- #include file="../../connection.asp" -->
<%
SQL = "UPDATE om SET rubrik = '" & Request.Form("rubrik") & "', underrubrik = '" & Request.Form("underrubrik") & "', bakgrund = '" & Request.Form("bakgrund") & "', text = '" & Request.Form("text") & "', kontaktperson = '" & Request.Form("kontaktperson") & "', mail = '" & Request.Form("mail") & "', organisation = '" & Request.Form("organisation") & "', adress = '" & Request.Form("adress") & "', postnummer = '" & Request.Form("postnummer") & "', postadress = '" & Request.Form("postadress") & "' WHERE ID = " & Request.Form("ID") & ""
db.Execute(SQL)
db.close
Response.Redirect("ok.asp")
%>
Är det någon som kan hitta felet?? eller vad det kan vara. Jag kör liknande uppdateringar på andra ställen och dom funkar...
/Sven
@ndersMedlem sedan juni 200032 969 inlägg Det finns inget som heter internt serverfel, utan det är din internet explorer som är dum.
Ta bort Friendly error messages / Egna http-felmeddelanden så får du ett riktigt felmeddelande.
Red: och ge oss det felmeddelandet och gärna en response.write-utskrift av din kompletta SQL-fråga, så ska det nog gå att lösa.
Mvh,
------------------
All your base are belong to me.
[Redigerat av @nders den 05 okt 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Ändra inställningen i browsern så att du kan se det riktiga felet
Under tools --> internet options --> advanced
finns en ruta där det står
show user friendly HTTP error messages
Omarkera den.
En fråga:
Det kan vara intressant att se hur sql-satsen ser ut
<%
SQL = "UPDATE om SET rubrik = '" & Request.Form("rubrik") & "', underrubrik = '" & Request.Form("underrubrik") & "', bakgrund = '" & Request.Form("bakgrund") & "', text = '" & Request.Form("text") & "', kontaktperson = '" & Request.Form("kontaktperson") & "', mail = '" & Request.Form("mail") & "', organisation = '" & Request.Form("organisation") & "', adress = '" & Request.Form("adress") & "', postnummer = '" & Request.Form("postnummer") & "', postadress = '" & Request.Form("postadress") & "' WHERE ID = " & Request.Form("ID")
response.write sql
------------------
essentitia preter non sans multiplicandum
svenMedlem sedan aug. 2001383 inlägg ok... ändrade så att jag kan se felmeddelandena.. viket blev:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/projekt/admin/updateproj.asp, line 8
Line 8 är db.Execute(SQL)
Skrev också ut SQL satsen och den ser helt ok ut... Det som står i formuläret kommer ut...
/Sven
VideMedlem sedan dec. 19998 577 inlägg Visa det som skrevs ut i SQL-satsen... det är ju där det är fel...
------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu
jorgenMedlem sedan feb. 20012 412 inlägg Hej!
text är ett reserverat ord. Testa skrina [text] med klammrar eller byta namn på fältet i db:n.
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
LarsGMedlem sedan dec. 200012 464 inlägg Du har en kolumn som heter text. Det är ett reserverat ord i SQL så det är lämpligt att du byter ut det mot något annat. Annars kan du skriva
[text] i sql-koden.
------------------
essentitia preter non sans multiplicandum
svenMedlem sedan aug. 2001383 inlägg Utskriften av SQL satesen ser ut så här:
UPDATE om SET rubrik = 'Projektet', underrubrik = 'med klös', bakgrund = 'Som ni alla vet', text = 'Det låter så kul', kontaktperson = 'Greta Karlsson', mail = 'greta@hotmail.com', organisation = 'Föreningen', adress = 'Hemvägen1', postnummer = '123 45', postadress = 'Staden' WHERE ID = 1
Skall byta ut text till något bättre...
/Sven
mikulMedlem sedan aug. 20013 824 inlägg prova
SQL = "UPDATE om SET rubrik = '" & Request.Form("rubrik") & "', underrubrik = '" & Request.Form("underrubrik") & "', bakgrund = '" & Request.Form("bakgrund") & "', [text] = '" & Request.Form("text") & "', kontaktperson = '" & Request.Form("kontaktperson") & "', mail = '" & Request.Form("mail") & "', organisation = '" & Request.Form("organisation") & "', adress = '" & Request.Form("adress") & "', postnummer = '" & Request.Form("postnummer") & "', postadress = '" & Request.Form("postadress") & "' WHERE ID = "& Request.Form("ID")
db.Execute(SQL)
vet inte om det kommer att funka men du kan ju prova i allafall.
/ Mikul
------------------
vad är det för fel mad att vara lat?, tänk om det blev krig och ingen kom dit.
[Redigerat av mikul den 05 okt 2001]
svenMedlem sedan aug. 2001383 inlägg Tackar alla...
Det var det där jämras reserverade ordet text som ställde till det.
Nu går den som en klocka igen....