13. maj 2002 - 14:47
Der er
23 kommentarer og 1 løsning
Slet fra DB-hvad går galt?
Jeg har denne slette ting i min bruger database, men det går galt, siden vil ikke vises.. pickbrugerdelete.asp henter alle brugere fra databasen og laver et link af den bruger man trykker på som så sendes som en Querystring = ebruger. Kan I se hvad jeg gør galt. (Access db) <!--#include file="pickbrugerdelete.asp" --> <!--#include file="_dbconn.asp" --> <% ebruger = Request.Querystring("ebruger") mode = Request.Form("mode") if mode = "" Then strSQL = "SELECT * FROM tbl_Adresser WHERE strBruger ='" & ebruger "'" response.write strSQL 'Set rs = Conn.Execute(strSQL) %> <table width="40%" border="0" cellspacing="2" cellpadding="2" align="center" > <form method="POST" action="sletbruger.asp?ebruger=<%=ebruger%>"> <tr > <td class="tbl_head" align="center">Bekræft sletning</td> </tr> <tr > <td class="tbl_head_kal" align="center">Vil du slette brugeren <%=ebruger%> ?</td> </tr> <tr align="center" valign="middle" class="tbl_log"> <td> <input type="hidden" name="mode" value="slet"> <input class="input" type="submit" name="delete" value="Ja, slet"> <input class="input" type="button" name="button" value="Tilbage" onClick="history.back()"> </td> </tr> </form> </table> <% else strSQL = "DELETE FROM tbl_kalender WHERE strBruger='" & ebruger & & "'" Set rs = Conn.Execute(strSQL) response.write "Bruger: " & ebruger & " er slettet<br>" 'response.redirect("admin.asp") end if ' Rydder op efter os Conn.Close Set Conn = Nothing %>
Annonceindlæg fra Admin By Request
Prøv og ret følgende linier: strSQL = "SELECT * FROM tbl_Adresser WHERE strBruger ='" & ebruger & "'" strSQL = "DELETE FROM tbl_kalender WHERE strBruger='" & ebruger & "'" /Goose
Prøv dette i stedet: strSQL = "DELETE FROM tbl_kalender WHERE strBruger=" & Chr(34) & ebruger & Chr(34)
Hovsa, havde ikke set dit svar goose, men OK -de er ikke helt ens ;-)
goose:> Får denne fejl: Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /booking/sletbruger.asp, line 34 linje 34 = Set rs = Conn.Execute(strSQL)
tjacob :> hvad gør Chr(34)
"mode" har vist ingen værdi!!
Du kan evt prøve med Chr(39) -indsætter '
Det skal den da heller ikke -eller hvad? Hele din kode afvikles jo kun hvis mode = "".
den ved måske ikke hvad den skal slette, prøv: strSQL = "DELETE * FROM tbl_kalender WHERE strBruger=" & Chr(34) & ebruger & Chr(34) Sletter hele denne post
Når slet.asp siden hentes modtager den en querystring "ebruger". Det jeg vil have er at brugeren bliver spurgt om sletningen er i orden før man sletter fra db. mode vil derfor være tom når slet.asp hentes første gang, og derfor skal koden hellere ikke afvikles før at brugeren trykker på "ja, slet" knappen skal recorden så slettet... Håber det er til at forstå?
Får nu denne fejl: Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /booking/sletbruger.asp, line 36 : Set rs = Conn.Execute(strSQL) <!--#include file="pickbrugerdelete.asp" --> <!--#include file="_dbconn.asp" --> <% ebruger = Request.Querystring("ebruger") mode = Request.Form("mode") if mode = "" Then strSQL = "SELECT * FROM tbl_Adresser WHERE strBruger ='" & ebruger & "'" response.write "mode1 : " & mode & "<br>" response.write "strSQL1 : " & strSQL & "<br><br>" Set rs = Conn.Execute(strSQL) %> <table width="40%" border="0" cellspacing="2" cellpadding="2" align="center" > <form method="POST" action="sletbruger.asp?ebruger=<%=ebruger%>"> <tr > <td class="tbl_head" align="center">Bekræft sletning</td> </tr> <tr > <td class="tbl_head_kal" align="center">Vil du slette brugeren <%=ebruger%> ?</td> </tr> <tr align="center" valign="middle" class="tbl_log"> <td> <input type="hidden" name="mode" value="slet"> <input class="input" type="submit" name="delete" value="Ja, slet"> <input class="input" type="button" name="button" value="Tilbage" onClick="history.back()"> </td> </tr> </form> </table> <% elseif mode = "slet" then strSQL = "DELETE FROM tbl_kalender WHERE strBruger ='" & ebruger & "'" response.write "mode2 : " & mode & "<br>" response.write "strSQL2 : " & strSQL & "<br><br>" Set rs = Conn.Execute(strSQL) response.write "Bruger: " & ebruger & " er slettet<br>" 'response.redirect("admin.asp") end if ' Rydder op efter os Conn.Close Set Conn = Nothing %>
<td class="tbl_head_kal" align="center">Vil du slette brugeren <%=ebruger%> hvor får du <%=ebruger %> ?
Som jeg foreslog før: indsæt * mellem DELETE og FROM
Jeg ville mene dit SQL skulle se sådan her ud: strSQL = "DELETE * FROM tbl_kalender WHERE strBruger = '" & eBruger & "';" Rock on, rxFTP
mccannon :> ebruger kommer fra en querystring fra en form! tjacob & rxftp:> får samme fejl: Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters.
mail mig koden og db'en..så skal jeg får det til at virke mccannon@get2net.dk
Stærkt:> jeg zipper lige og sender. 3½ minut!
mccannon :> filer er sendt!
umm hallo der mangler en loginform.asp :)
dooh okay du prøver at slette noget i en tabel som ikek findes i tabellen ...
altså hvis mode = "slet" så prøver du at slette alt hvor strBruger i tbl_kalender = med ebruger men..strbruger er kun i tbl_adresser og IKKE i tbl_kalender der ligger problemet
mccannon:> selv Dooh.. men du havde ret!!! Det virker nu, endnu et exempel på at man kan se sig blind. Tak for hjælpen.... :>Gizom
Kurser inden for grundlæggende programmering