Avatar billede sesam Nybegynder
05. juli 2001 - 11:14 Der er 8 kommentarer og
3 løsninger

for få parametre

Jeg prøver på at slette en post i min database med dette script:
------------------------------------------------------

<%@ Language=VBScript %>
<!--esb/iss/StudentList/admin/delete.asp-->
<!--this is the delete page called by index.asp-->

<!-- #Include file = \"ADOVBS.INC\" -->

<% \'Declare all variables
    dim conn
    dim rs
    dim strconn
    dim strsql
    dim record_ID
\'On Error Resume Next
strconn = \"DRIVER=Microsoft Access Driver (*.mdb);DBQ=\" & Server.MapPath(\"varer.mdb\")
record_ID = REQUEST(\"record_ID\")
%>

<html>
<head>
<title>StudentList delete page</title>
<script language=javascript type=\"text/javascript\">
<!-- hide script from old browsers
function doCancel()
{document.location = \"index.asp\"}
//End hiding script from old browser-->
</script>
</head>
<body background=\"images/flybg.gif\">
<P>
<center>
<H2 ALIGN=CENTER><B>
<p> &nbsp;<p>
<p> &nbsp;<p>
<I><FONT face=verdana SIZE=+2 color=black>Denne post vil blive slettet!  </FONT></i>



<p>
<table width=\"80%\" align=\"center\" >
<form name=deleteForm action=\"index.asp\" method=post>
<input type=hidden name=reused value=yes>
<input type=hidden name=record_ID value=<%=record_ID %>>
<%
\'Setup connection and recordset objects
set conn = server.createobject(\"adodb.connection\")
conn.open strconn
set rs = server.createobject(\"adodb.recordset\")
\' get the record to fill the deleteForm
\' Set SQL statement
strSQL = \"SELECT * FROM varer WHERE ID= \" & record_ID
\'Open the Recordset object and retrieve data
rs.Open strSQL,conn, adOpenStatic
%>
<tr><td colspan=\"6\">&nbsp;</td></tr>
<tr><td align=\"right\"><B>Name : </b></td>
    <td align=\"left\"><input type=text name=Name size=18 maxlength=\"40\" value=\"<%=rs(\"titel\") %>\" >         </td>
    <td align=\"right\"><B>Site : </b></td>
    <td align=\"left\"><input type=text name=isoSite size=10 value=\"<%=rs(\"beskrivelse\") %>\" >         </td>
    <td align=\"right\"><B>Phone : </b></td>
    <td align=\"left\"><input type=text name=isoPhone size=20 maxlength=\"12\" value=\"<%=rs(\"varenummer1\") %>\" >         </td>
</tr>
<tr><td colspan=\"6\">&nbsp;</td></tr>
<tr><td align=\"right\"><B>School : </b></td>
    <td align=\"left\"><input type=text name=isoSchool size=18 maxlength=\"20\" value=\"<%=rs(\"varenummer2\") %>\"></td>
    <td align=\"right\"><B>Class : </b></td>
    <td align=\"left\"><input type=text size=15 maxlength=\"20\" value=\"<%=rs(\"images\") %>\"></td>
    <td align=\"right\"><B>E-mail : </b></td>

</tr>
<tr><td colspan=\"6\">&nbsp;</td></tr>
<tr><td colspan=\"6\"><hr color=\"red\"></td></tr>
<tr>
    <td  colspan=\"3\" align=\"right\"><input type=submit    name=submitAction value=\"Delete\" ></td>
    <td colspan=\"3\" align=\"left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=button name=cancel value=\"Cancel\" onclick=\"doCancel()\"></td>
</tr>
</form>
</table>
---------------------------------------------------

Men jeg får denne fejl:
-------------------------------------------
 
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e10\'

[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.

/ep/delete_3.asp, linje 52

Anybody?
Avatar billede webbe Nybegynder
05. juli 2001 - 11:21 #1
Det kunne tyde på at dit ID ikke sendes videre!

Prøv med record_ID = Request.Form(\"record_ID\")
Avatar billede kichian Nybegynder
05. juli 2001 - 11:22 #2
Har record_ID en værdi når du udfører : strSQL = \"SELECT * FROM varer WHERE ID= \" & record_ID

Jeg kan godt se at du forventer dette, men stemmer det også overens med virkeligheden :-)
Avatar billede webbe Nybegynder
05. juli 2001 - 11:22 #3
Det kan evt.være RequestQueryString(\"record_ID\")

Er ikke helt sikker....kommer an på hvordan din foregående side ser ud!
Avatar billede sesam Nybegynder
05. juli 2001 - 11:28 #4
dette er min foregående side:
--------------------------------------------

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"varer.mdb\")
Conn.Open DSN
strSQL = \"Select * From varer Order by Titel\"
Set rs = Conn.Execute(strSQL)
response.write \"<table width=\"\"400\"\" border=\"\"0\"\" cellspacing=\"\"1\"\" cellpadding=\"\"1\"\"><tr><td valign=\"\"top\"\">\"
while not rs.eof
  strNavn = rs(\"titel\")
        response.write \"</td></tr><tr><td valign=\"\"top\"\">\"
response.write\"<font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=\'test9.asp?id=\" & rs(\"varenr\")  & \"\'>\" & strNavn & \"</a></font>\"
response.write\"<td><font size=1 face=Verdana, Arial, Helvetica, sans-serif>\" & rs(\"beskrivelse\") & \"</td>\"
response.write\"<td><font size=1 face=Verdana, Arial, Helvetica, sans-serif>\" & rs(\"varenummer1\") & \"</td>\"
response.write\"<td><font size=1 face=Verdana, Arial, Helvetica, sans-serif>\" & rs(\"varenummer2\") & \"</td>\"
response.write\"<td><font size=1 face=Verdana, Arial, Helvetica, sans-serif>\" & rs(\"images\") & \"</td>\"
    response.write\"<td align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif>\" &\"<A HREF =\"\" \" & \"delete_3.asp?record_ID=\" & rs(\"varenr\") & \" \"\">\" & \"<B> X \" & \"</b></a></td></tr>\"
Response.Write \"<br>\"

rs.MoveNext
wend
response.write \"</ul></td></tr></table>\"
%>
Avatar billede webbe Nybegynder
05. juli 2001 - 11:30 #5
Okay - så er det request.querystring(\"record_ID\") du skal bruge!
Avatar billede sesam Nybegynder
05. juli 2001 - 11:40 #6
Hvordan?
Avatar billede kichian Nybegynder
05. juli 2001 - 11:44 #7
Request vil give det samme Request.QueryString i denne sammenhæng. Forskellen er at et kald til Request vil gennemløbe alle de sædvanlig collections efter parameteren indtil der findes noget. Request.QueryString søget kun i QueryString collection.
Avatar billede kichian Nybegynder
05. juli 2001 - 11:45 #8
Prøv at lave en Response.Write strSQL inden du åbner recordsettet. Ser det rigtigt ud?.
Avatar billede sesam Nybegynder
05. juli 2001 - 14:56 #9
Jeg er clueless
Avatar billede webbe Nybegynder
05. juli 2001 - 15:03 #10
Inden du starter din table så skriv følgende:

Response.Write record_ID
Response.End

Så vil du kunne se om dit id bliver sendt videre!
Avatar billede neuro Nybegynder
05. juli 2001 - 23:02 #11
Du kan  eventuelt tjekke om du har fået en Record_ID med

if \"\" & request(\"Record_ID\")<>\"\" then
-<<<< din kode >>>>-
end if

Nu tjekker den om du har en Record_ID og udfører KUN dit script hvis det er tilfældet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester