Har försökt att installera ett forum (forum 2.0 från http://www.hogstorp.nu/asp_collection/default.asp). Det är inga problem att starta en tråd och att sen få upp den tråden för att svara, men då jag skickar iväg svaret felar det! Vad kan vara fel? Felet ligger i att fältet datum är ett reserverat ord och inte bör användas som namn. För att komma undan detta, sätt [ ] runt det fältnamnet.. Uppdateringen som såg ut så här: >Felet ligger i att fältet datum är ett reserverat ord och inte bör användas som namn. Jag chansar på att du inte inkluderat filerna för adOpenStatic och adLockOptimistic. Kan var så att filen ligger på en annan plats och du måste updatera sökvägen i include. om den ligger på annan plats kommer väl ett fin hälsning från IIS? Nu ser jag: Du har öppnat databasen med en metod, sedan kör du addnew och sedan försöker köra en sql-sats det blir fel.Fungerar inte att svara på mitt forum
Feltext:
ADODB.Connection fel '800a0bb9'
Programmet använder felaktiga parametrar, som antingen ligger utanför tillåtet intervall, eller som skapar en inbördes konflikt.
Här är formuläret i filen som skickar svaret:
<form name="kommentarer" method="POST" action="lagg_till_svar.asp" form onSubmit="return control(this);" name="form">
<input type="hidden" name="NySvarId" value="<% =Request.QueryString("inlaggID") %>">
<td width="10%">Namn:</td>
<td width="90%"><input type="text" name="namn" maxlength="20"><size="15" style="width:160px"></td>
</tr>
<tr>
<td width="10%">Rubrik:</td>
<td width="90%"><input type="text" name="rubrik" maxlength="30"><size="15" style="width:160px"></td>
</tr>
<tr>
<td width="10%">Text:</td>
<td width="90%"><textarea rows="8" name="meddelande" cols="50" wrap="virtual"></textarea></textarea></td>
</tr>
<tr>
<td width="10%"><input type="image" src="skicka.gif" border="0" value=submit></td>
<td width="90%"></td>
</tr>
</table>
</center>
</div>
</form>
Här är koden som ska lägga till svaret:
<%
RecSet.Open Addera_Svar, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
uppdatera_datum = "update forumrubriker set datum = now() where rubrikja = true and rubrikid = " & Request.Form("NySvarId")
connect.execute uppdatera_datum,,128 ' DENNA RAD FELARSv: Fungerar inte att svara på mitt forum
update forumrubriker set [datum] = now() where ..
Hälsningar
/PelleSv: Fungerar inte att svara på mitt forum
RecSet.Open Addera_Svar, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
uppdatera_datum = "update forumrubriker set datum = now() where rubrikja = true and rubrikid = " & Request.Form("NySvarId")
connect.execute uppdatera_datum,,128
den ändrade jag så att sista raden ser ut så här:
connect.execute uppdatera_datum
nu verkar det fungera, men vad gör de sista tecknen ,,128 ?
Är det nån nackdel att skippa de tecknen ?Sv: Fungerar inte att svara på mitt forum
Datum är ju ett svenskt ord, det är väl ändå inte reserverat!?! Jag har själv använt det som fältnamn många gånger i både Access och SQL-Server utan problem...
/JohanSv: Fungerar inte att svara på mitt forum
Sv: Fungerar inte att svara på mitt forum
Sv: Fungerar inte att svara på mitt forum
Efter .AddNew borde du använt .Fields("datum") = now och därefter .Update för att följa metod 1. Och för att kunna göra det hade du behövt i .Open skriva select * from forumrubriker where rubrikid = " & request("nysvarid")
skriv istället den mycket enklare varianten: (dock ser jag inte att du skapar ett connectionobjekt i din kod, den måste finnas!
<%
set connect = server.createobject("adodb.connection")
connect.open "test"
uppdatera_datum = "update forumrubriker set datum = now() where rubrikja = true and rubrikid = " & Request.Form("NySvarId")
connect.execute (uppdatera_datum)
%>
Ett Ps till JohanD. - du har rätt att Datum inte är ett reserverat ord. Var nog förvirrad när jag svarare i morse på detta inlägg.