webForumDet fria alternativet
Logga in / Bli medlem

Admin till community

ASP

17 svar · 284 visningar · startad av MaQaN

Medlem sedan okt. 200235 inlägg
Trådstart#1

Jag gör ett community och håller nu på med ett admin script. jag får detta felet när jag ska radera en användare

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/ny/community/1/members/admin.asp, line 29

Här kommer koden

<!-- #include file = "adovbs.inc" -->

<%
If Request("vad") = "login" THEN
If Request("losen") = "admin" THEN
Session("access") = "JA"
END IF
END IF
%>

<head>

<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF">
<p><font size="2"><b><font face="Verdana">communityadmin</font></b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1">
<%IF Session("access") = "JA" THEN%>
</font><font size="1"><b><font face="Verdana">Ta bort användare</font></b></font>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("db/members.mdb")&";pwd=losen"

IF request.querystring("do") ="delete" Then
SQL = "DELETE * FROM members WHERE ID = " & Request("losen")
Connect.Execute(SQL)
Response.Redirect "admin.asp"
ELSE
SQL = "SELECT * From members ORDER BY fnamn DESC, losen DESC"
Set RecSet = Connect.Execute(SQL)
%>
</p>
<table width="500" border="0">
<% Do Until RecSet.EOF %>
<tr>
<td width="200"><font face="Verdana" size="1"><b>fnamn:</b> <%=RecSet("fnamn")%></font></td>
<td width="200"><font face="Verdana" size="1"><b>enamn:</b> <%=RecSet("enamn")%></font></td>

\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>username:\</b\> \<%=RecSet("username")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Epost:\</b\> \<%=RecSet("epost")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>ICQ:\</b\> \<%=RecSet("icq")%\>\</font\>\</td\>
  \<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Land:\</b\> \<%=RecSet("country")%\>\</font\>\</td\>  
  \<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Landskap:\</b\> \<%=RecSet("county")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Hemsida:\</b\> \<%=RecSet("personligurl")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Datum:\</b\> \<%=RecSet("datum")%\>\</font\>\</td\>    
\<td width="100" rowspan="2"\>\<b\>\<a href="admin.asp?do=delete&losen=\<%=RecSet("losen")%\>"\>\<font face="Verdana" size="1"\>Radera\</font\>\</a\>\</b\>\</td\>

</tr>
<tr>
<td colspan="2"><font face="Verdana" size="1"><%=RecSet("losen")%></font></td>
</tr>
<tr>
<td colspan="3">
<hr size="1" noshade>
</td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
END IF
%>
</table>

<%ELSE%>
<form name="form2" method="post" action="admin.asp?vad=login">
<font size="1"> <font face="Verdana, Arial, Helvetica, sans-serif"> </font></font>
<table width="100" border="0">
<tr>
<td colspan="2">
<div align="center"><font size="1"></font> <font size="1"><font face="Verdana"><b>LOGGA
IN</b></font></font></div>
</td>
</tr>
<tr>
<td><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">Lösenord:</font></font></td>
<td><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="losen" style="border: #000000 1px solid; font-family: verdana; font-size: 10px" size="15" maxlength="20">
</font></font></td>
</tr>
<tr>
<td> </td>
<td><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" style="border: #000000 1px solid; font-family: verdana; font-size: 10px" name="Submit2" value="Logga in">
(förvalt: <b>admin</b>)</font></font></td>
</tr>
</table>
<font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"><br>
</font></font>
</form>
<%END IF%>

här måste felet ligga

IF request.querystring("do") ="delete" Then
SQL = "DELETE * FROM members WHERE ID = " & Request("losen")

nån som vet?

Medlem sedan apr. 20003 174 inlägg
#2

Kontrollera stavningen samt kolla att dina kolumner heter det som du angett i din sql-sats.

Medlem sedan mars 20021 889 inlägg
#3

Till att börja med: använd Request**.Form**("losen") eller Request**.QueryString**("losen") i stället för bara Request("losen").

Testa att skriva ut Request.Form("losen").
a = Request.Form("losen")
Response.Write a

:)

Medlem sedan okt. 200235 inlägg
#4

Jag är ganska dålig på asp men jag tackar för dessa svar och ska testa det, återkommer snart och berättar hur det gick

Medlem sedan okt. 200235 inlägg
#5

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID ='.

/ny/community/1/members/admin.asp, line 29

nu fick jag detta fel.

kan ni lösa detta?

Medlem sedan okt. 200235 inlägg
#6

Testa att skriva ut Request.Form("losen").
a = Request.Form("losen")
Response.Write a

kan du utveckla detta så att jag vet var jag ska sätta in det.

Medlem sedan mars 20021 889 inlägg
#7

Kopiera in de två ASP-raderna alldeles före SQL-frågan som bråkar med dig.

:)

Medlem sedan mars 20021 889 inlägg
#8

Du kan också skriva detta, alldeles efter SQL-frågan (för att skriva ut hela strängen):

Response.Write SQL
Response.End

:)

Medlem sedan okt. 200235 inlägg
#9

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("db/members.mdb")&";pwd=losen"

IF request.querystring("do") ="delete" Then
SQL = "DELETE * FROM members WHERE ID = " & Request.form("losen")
Connect.Execute(SQL)
Response.Redirect "admin.asp"
ELSE
SQL = "SELECT * From members ORDER BY fnamn DESC, losen DESC"
Set RecSet = Connect.Execute(SQL)
%>
</p>
<table width="500" border="0">
<% Do Until RecSet.EOF %>
<tr>
<td width="200"><font face="Verdana" size="1"><b>fnamn:</b> <%=RecSet("fnamn")%></font></td>
<td width="200"><font face="Verdana" size="1"><b>enamn:</b> <%=RecSet("enamn")%></font></td>

\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>username:\</b\> \<%=RecSet("username")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Epost:\</b\> \<%=RecSet("epost")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>ICQ:\</b\> \<%=RecSet("icq")%\>\</font\>\</td\>
  \<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Land:\</b\> \<%=RecSet("country")%\>\</font\>\</td\>  
  \<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Landskap:\</b\> \<%=RecSet("county")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Hemsida:\</b\> \<%=RecSet("personligurl")%\>\</font\>\</td\>
\<td width="200"\>\<font face="Verdana" size="1"\>\<b\>Datum:\</b\> \<%=RecSet("datum")%\>\</font\>\</td\>    
\<td width="100" rowspan="2"\>\<b\>\<a href="admin.asp?do=delete&losen=\<%=RecSet("losen")%\>"\>\<font face="Verdana" size="1"\>Radera\</font\>\</a\>\</b\>\</td\>

</tr>
<tr>
<td colspan="2"><font face="Verdana" size="1"><%=RecSet("losen")%></font></td>

det är detta som bråkar

Medlem sedan okt. 200235 inlägg
#10

"Du kan också skriva detta, alldeles efter SQL-frågan (för att skriva ut hela strängen):

Response.Write SQL
Response.End "

detta fattar jag inte.

Medlem sedan mars 20021 889 inlägg
#11

DU skrev:

här måste felet ligga

IF request.querystring("do") ="delete" Then
SQL = "DELETE * FROM members WHERE ID = " & Request("losen")

Jag skrev:

Du kan också skriva detta, alldeles efter SQL-frågan (för att skriva ut hela strängen):

Response.Write SQL
Response.End

Alltså, släng in de två raderna efter det du sa var fel. Och posta resultatet.

:)

Medlem sedan juni 200032 967 inlägg
#12

Det ser ut som att losen kommer från querystringen, och inte från ett formulär med metoden post. Ändra från form till querystring:

SQL = "DELETE * FROM members WHERE ID = " & [b]Request.Querystring("losen")[/b]

Mvh

Medlem sedan okt. 200235 inlägg
#13

sidan kan inte visas.

men jag har förenklat det hela, detta är den nya koden men det verkar vara samma typ av fel

<!-- #include file = "adovbs.inc" -->

<%
If Request("vad") = "login" THEN
If Request("losen") = "admin" THEN
Session("access") = "JA"
END IF
END IF
%>

<head>

<link href="nydajm/gbok/style.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF">
<p><font size="2"><b><font face="Verdana">Gästboksadmin</font></b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1">
<%IF Session("access") = "JA" THEN%>
</font><font size="1"><b><font face="Verdana">Ta bort inlägg</font></b></font>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("db/members.mdb")&";pwd=losen"

IF request.querystring("do") ="delete" Then
SQL = "DELETE * FROM members WHERE ID = " & Request("id")
Connect.Execute(SQL)
Response.Redirect "admin.asp"
ELSE
SQL = "SELECT * From members ORDER BY username DESC, epost DESC"
Set RecSet = Connect.Execute(SQL)
%>
</p>
<table width="500" border="0">
<% Do Until RecSet.EOF %>
<tr>
<td width="200"><font face="Verdana" size="1"><b>Username:</b> <%=RecSet("username")%></font></td>
<td width="200"><font face="Verdana" size="1"><b>E-POST:</b> <%=RecSet("epost")%></font></td>
<td width="100" rowspan="2"><b><a href="admin.asp?do=delete&id=<%=RecSet("ID")%>"><font face="Verdana" size="1">Radera</font></a></b></td>
</tr>
<tr>
<td colspan="2"><font face="Verdana" size="1"><%=RecSet("losen")%></font></td>
</tr>
<tr>
<td colspan="3">
<hr size="1" noshade>
</td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
END IF
%>
</table>

<%ELSE%>
<form name="form2" method="post" action="admin.asp?vad=login">
<font size="1"> <font face="Verdana, Arial, Helvetica, sans-serif"> </font></font>
<table width="100" border="0">
<tr>
<td colspan="2">
<div align="center"><font size="1"></font> <font size="1"><font face="Verdana"><b>LOGGA
IN</b></font></font></div>
</td>
</tr>
<tr>
<td><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">Lösenord:</font></font></td>
<td><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="losen" style="border: #000000 1px solid; font-family: verdana; font-size: 10px" size="15" maxlength="20">
</font></font></td>
</tr>
<tr>
<td> </td>
<td><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" style="border: #000000 1px solid; font-family: verdana; font-size: 10px" name="Submit2" value="Logga in">
(förvalt: <b>admin</b>)</font></font></td>
</tr>
</table>
<font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"><br>
</font></font>
</form>
<%END IF%>

nu får jag felet:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID ='.

/ny/community/1/members/admin.asp, line 29

IF request.querystring("do") ="delete" Then
SQL = "DELETE * FROM members WHERE ID = " & Request.form("id")

vill den att jag ska skriva nåt mer här

Medlem sedan mars 20021 889 inlägg
#14

Se där! @nders löste det (antagligen)! :bire
Just därför ska du använda .QueryString och .Form. ;)

:)

Medlem sedan mars 20015 287 inlägg
#15

MaQaN: Använd gärna kod-taggarna. [kod]

Medlem sedan okt. 200235 inlägg
#16

Nej anders löste det tyvärr inte, jag får dett felmedelande

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID ='.

/ny/community/1/members/admin.asp, line 32

ok solbulle det ska jag göra i fortsättningen.

Medlem sedan mars 20015 287 inlägg
#17

Hm, hur gör du egentligen när du kollar/kör sidan? Kommer du till den genom att posta ett formulär eller genom att följa en länk?

Hur ser då formuläret / länken ut?

Medlem sedan okt. 200235 inlägg
#18

Jo det är löst det var en .QueryString.

tack så mycket för all hjälp

398 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
125 ms — hämta statistik (db)
147 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)