webForumDet fria alternativet

Admin till community

ASPur ASP

17 svar · 280 visningar · startad av MaQaN

MaQaNMedlem sedan okt. 200235 inlägg
#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?

PalleMedlem sedan apr. 20003 174 inlägg
#2

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

trexterMedlem 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

:)

MaQaNMedlem 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

MaQaNMedlem 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?

MaQaNMedlem 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.

trexterMedlem sedan mars 20021 889 inlägg
#7

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

:)

trexterMedlem 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

:)

MaQaNMedlem 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

MaQaNMedlem 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.

trexterMedlem 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.

:)

@ndersMedlem sedan juni 200032 969 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

MaQaNMedlem 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

trexterMedlem 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. ;)

:)

solbulleMedlem sedan mars 20015 287 inlägg
#15

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

MaQaNMedlem 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.

solbulleMedlem 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?

MaQaNMedlem sedan okt. 200235 inlägg
#18

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

tack så mycket för all hjälp

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