webForumDet fria alternativet

Felmeddelande - vad kan det vara??

ASP

19 svar · 504 visningar · startad av mackanz

Medlem sedan sep. 2003443 inlägg
Frågan#1

Jag har gjort en admin till en gästbok. det går bra att loopa upp meddelandena från databasen, sen går det bra att klicka på ett meddelande för att ändra det. När jag klickat på länken ändra meddleande kommer jag till en sida där meddelandet visas.
När jag sedan ändrar i inputfälten får och trycker på en kanpp som jag döpt till uppdatera får jag följande fel:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'GUESTBOOK_ID ='.
/gastboken/and_uppdatera.asp, line 16

Här fljer hela sidan som han syftar på:

<%@ language=vbscript %>
<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
</head>
<body>

<%
set mincon=server.CreateObject("ADODB.Connection")
set rs=server.CreateObject("ADODB.recordset")

mincon.Open "DSN=markusgb"

and_uppdatera = "select * from gastbok where GUESTBOOK_ID = " & Request.form("new") & " "
rs.Open and_uppdatera, mincon, 3, 3

%>

<%
rs("NAME")=Request.Form("NAME")
rs("EMAIL")=Request.Form("EMAIL")
rs("HOMEPAGE")=Request.Form("HOMEPAGE")
rs("CITY")=Request.Form("CITY")
rs("MESSAGE")=Request.Form("MESSAGE")
rs.update

rs.Close
mincon.Close

%>

</body>
</html>

Medlem sedan juni 200032 967 inlägg
#2

Request.form("new") har inget värde.

Jag efterlyser också [kod]-taggar av läsbarhetsskäl.

Medlem sedan sep. 2003443 inlägg
#3

Vad exat vil du ha?
Jag är nybröjare så jag kan inte så mycket!

Medlem sedan juli 20033 147 inlägg
#4

Som @nders sa så måste du ha ett <input type="hidden" name="new" value="gastboks ID'et"> fält för att du ska kunna skickas tillbaka till gästboksidan.

Ett tips är att använda den här update satsen istället.

SQL = "UPDATE gastbok SET namn = '" & _
Request.Form("namn") & "', email = '" & _
Request.Form("email") & "', homepage = '" & _
Request.Form("homepage") & "', city = '" &_ 
Request.Form("city") & "', message = '" & _
Request.Form("message") & "' WHERE guestbook_id = " & _
Request.Form("new") & " "
minCon.Execute(SQL)

Mvh

Medlem sedan mars 2003772 inlägg
#5

Vad är GuestBook_ID för datatyp?
Är det "INT" så ska det vara

and_uppdatera = "select * from gastbok where GUESTBOOK_ID = " & Request.form("new")

Om det är Char, text etc alltså en "String" som du jämför med så ska det vara

and_uppdatera = "select * from gastbok where GUESTBOOK_ID = "' & Request.form("new") & "'"

Sen som anders skrev så verkar det inte som om Request.Form("new") får något värde.

Medlem sedan sep. 2003443 inlägg
#6

Jag har en sida före där det unika meddelande visas. Alltså, där själva unika posten (meddelandet) finns och den sidan ser ut så här:

<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
<link rel="stylesheet" type="text/css" href="global.css">

<form action="and_uppdatera.asp" method=post id=form1 name=form1>

<%
guestbook_id=Request.Form("GUESTBOOK_ID")
name=Request.Form("NAME")
email=Request.Form("EMAIL")
homepage=Request.Form("HOMEPAGE")
city=Request.Form("CITY")
message=Request.Form("MESSAGE")
%>

</head>
<body>

<%
set mincon=server.CreateObject("ADODB.Connection")
set rs=server.CreateObject("ADODB.recordset")

mincon.Open "DSN=markusgb"

sql="SELECT * from GASTBOK WHERE GUESTBOOK_ID = " & Trim(Request.QueryString("MESSAGEID")) & " "
rs.Open sql, mincon, 3,3
%>

<form action="and_uppdatera.asp" method="post">

<input type="hidden" name="new" value="<%=Request.QueryString("GUESTBOOK_ID")%>">

<table border="0" width="450" align="center">
<tr>
<td valign="top" align="right">Namn:</td><td><input type="text" value="<%=rs("NAME")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">E-Mail:</td><td> <input type="text" value="<%=rs("EMAIL")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Hemsida:</td><td> <input type="text" value="<%=rs("HOMEPAGE")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Stad:</td><td> <input type="text" value="<%=rs("CITY")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Meddelande:</td><td> <textarea value="<%=rs("MESSAGE")%>" rows="7" cols="65"></textarea> </td>
</tr>

<tr>
<td colspan="2" height="10"></td>
</tr>

<tr>
<td></td>
<td><input type="submit" value="Uppdatera"></td>
</tr>

</table>

</body>
</html>

Medlem sedan juni 200032 967 inlägg
#7
guestbook_id=Request.Form("GUESTBOOK_ID") 

....
....

<input type="hidden" name="new" value="<%=Request.QueryString("GUESTBOOK_ID")%>">

Vad är det som gäller? Querystring eller Form?

Kolla dessutom in avsnittet om att infoga kod.

Medlem sedan juli 20033 147 inlägg
#8

Hehe, du har inget name på dina input fält.

<table border="0" width="450" align="center"> 
<tr> 
<td valign="top" align="right">Namn:</td><td><input type="text" value="<%=rs("NAME")%>" name="name" size="63"></td> 
</tr> 
<tr> 
<td valign="top" align="right">E-Mail:</td><td> <input type="text" value="<%=rs("EMAIL")%>" name="email" size="63"></td> 
</tr> 
<tr> 
<td valign="top" align="right">Hemsida:</td><td> <input type="text" value="<%=rs("HOMEPAGE")%>" name="homepage" size="63"></td> 
</tr> 
<tr> 
<td valign="top" align="right">Stad:</td><td> <input type="text" value="<%=rs("CITY")%>" name="city" size="63"></td> 
</tr> 
<tr> 
<td valign="top" align="right">Meddelande:</td><td> <textarea value="<%=rs("MESSAGE")%>" name="message" rows="7" cols="65"></textarea> </td> 
</tr> 

<tr> 
<td colspan="2" height="10"></td> 
</tr> 

<tr> 
<td></td> 
<td><input type="submit" value="Uppdatera"></td> 
</tr> 

</table>

Mvh

Medlem sedan sep. 2003443 inlägg
#9

Har jag inga namn på input?
Det har kag väl?
exempel:

<td valign="top" align="right">Meddelande:</td><td> <textarea value="<%=rs("MESSAGE")%>" name="message" rows="7" cols="65"></textarea> </td>
</tr>

Medlem sedan juli 20033 147 inlägg
#10

mackanz skrev:

Jag har en sida före där det unika meddelande visas. Alltså, där själva unika posten (meddelandet) finns och den sidan ser ut så här:

<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
<link rel="stylesheet" type="text/css" href="global.css">

<form action="and_uppdatera.asp" method=post id=form1 name=form1>

<%
guestbook_id=Request.Form("GUESTBOOK_ID")
name=Request.Form("NAME")
email=Request.Form("EMAIL")
homepage=Request.Form("HOMEPAGE")
city=Request.Form("CITY")
message=Request.Form("MESSAGE")
%>

</head>
<body>

<%
set mincon=server.CreateObject("ADODB.Connection")
set rs=server.CreateObject("ADODB.recordset")

mincon.Open "DSN=markusgb"

sql="SELECT * from GASTBOK WHERE GUESTBOOK_ID = " & Trim(Request.QueryString("MESSAGEID")) & " "
rs.Open sql, mincon, 3,3
%>

<form action="and_uppdatera.asp" method="post">

<input type="hidden" name="new" value="<%=Request.QueryString("GUESTBOOK_ID")%>">

**<table border="0" width="450" align="center">
<tr>
<td valign="top" align="right">Namn:</td><td><input type="text" value="<%=rs("NAME")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">E-Mail:</td><td> <input type="text" value="<%=rs("EMAIL")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Hemsida:</td><td> <input type="text" value="<%=rs("HOMEPAGE")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Stad:</td><td> <input type="text" value="<%=rs("CITY")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Meddelande:</td><td> <textarea value="<%=rs("MESSAGE")%>" rows="7" cols="65"></textarea> </td>
</tr>

<tr>
<td colspan="2" height="10"></td>
</tr>

<tr>
<td></td>
<td><input type="submit" value="Uppdatera"></td>
</tr>

</table>**

</body>
</html>

Medlem sedan juni 200032 967 inlägg
#11

Om du kopierar från koden i Meleas inlägg är det inte så konstigt om där finns namn, eftersom han lagt till dem. ;)

Medlem sedan juli 20033 147 inlägg
#12

:bire

Medlem sedan sep. 2003443 inlägg
#13

Det hjälpte inte mycket att lägga in "name" på inputfälten som jag glömt. Jag får väl kolla med min utbildare i morgon, om han har några teorier om vad som kan vara fel.

Medlem sedan juni 200032 967 inlägg
#14

Om du inte förstår mitt inlägg, så säg bara till. Byt den undre av de två till request.form(), om det nu är så värdet kommer.

Medlem sedan sep. 2003443 inlägg
#15

Jag kör med and_uppdatera = "select * from gastbok where GUESTBOOK_ID = " & Request.form("new") & " "
rs.Open and_uppdatera, mincon, 3, 3

men på en annan plats så står det..
sql="SELECT * from GASTBOK WHERE GUESTBOOK_ID = " & Trim(Request.QueryString("MESSAGEID")) & " "
rs.Open sql, mincon, 3,3
%>

<form action="and_uppdatera.asp" method="post">

<input type="hidden" name="new" value="<%=Request.QueryString("GUESTBOOK_ID")%>">

arsch.. vad kass jag är på förklara...

Medlem sedan mars 20033 686 inlägg
#16

Som det sagts ett par gånger innan kan du börja med att använda kod-taggar!

Medlem sedan juni 200032 967 inlägg
#17

magnusfernstrom skrev:

Som det sagts ett par gånger innan kan du börja med att använda kod-tagger!

Ok, bra att du drog upp en ett år gammal tråd för att säga det. ;)

Medlem sedan mars 20033 686 inlägg
#18

Darn darn darn! :(

Jag såg bara att någon läste den genom online-listan, och som vanligt är jag dum nog att inte kolla datumet.

Kan du ta bort mina inlägg tror du? :)

Medlem sedan juni 200032 967 inlägg
#19

Kan - ja.
Ska - nej.

Jag har ingenting med moderering i detta forum att göra. Mitt förslag är att vi bara låter tråden somna. Igen. ;)

mvh

Medlem sedan feb. 20032 027 inlägg
#20

mackanz skrev:

Jag har en sida före där det unika meddelande visas. Alltså, där själva unika posten (meddelandet) finns och den sidan ser ut så här:

<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
<link rel="stylesheet" type="text/css" href="global.css">

<form action="and_uppdatera.asp" method=post id=form1 name=form1>

<%
guestbook_id=Request.Form("GUESTBOOK_ID")
name=Request.Form("NAME")
email=Request.Form("EMAIL")
homepage=Request.Form("HOMEPAGE")
city=Request.Form("CITY")
message=Request.Form("MESSAGE")
%>

</head>
<body>

<%
set mincon=server.CreateObject("ADODB.Connection")
set rs=server.CreateObject("ADODB.recordset")

mincon.Open "DSN=markusgb"

sql="SELECT * from GASTBOK WHERE GUESTBOOK_ID = " & Trim(Request.QueryString("MESSAGEID")) & " "
rs.Open sql, mincon, 3,3
%>

<form action="and_uppdatera.asp" method="post">

<input type="hidden" name="new" value="<%=Request.QueryString("GUESTBOOK_ID")%>">

<table border="0" width="450" align="center">
<tr>
<td valign="top" align="right">Namn:</td><td><input type="text" value="<%=rs("NAME")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">E-Mail:</td><td> <input type="text" value="<%=rs("EMAIL")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Hemsida:</td><td> <input type="text" value="<%=rs("HOMEPAGE")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Stad:</td><td> <input type="text" value="<%=rs("CITY")%>" size="63"></td>
</tr>
<tr>
<td valign="top" align="right">Meddelande:</td><td> <textarea value="<%=rs("MESSAGE")%>" rows="7" cols="65"></textarea> </td>
</tr>

<tr>
<td colspan="2" height="10"></td>
</tr>

<tr>
<td></td>
<td><input type="submit" value="Uppdatera"></td>
</tr>

</table>

</body>
</html>

VAR ser du " & Request.form("new") & " här.....finns inte ett formulär som heter new...hur man du requesta nåt som inte finns?

293 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
165 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)