28. februar 2002 - 22:30Der er
71 kommentarer og 2 løsninger
HASTER-delete record
Jeg har en liste med data. Derfra kan man komme til en ny side ved at trykke på et ikon, som viser dataene mere detaljeret. På denne side vil jeg gerne have en knap (ikon) hvorfra man kan vælge at slette den man sidder og kigger på. Jeg ville helst have at koden til sletningen ligger på denne side, så man kunne nøjes med at redirecte hvis sletningen gik godt. En anden væsentlig ting er at man skal blive promptet (MsgBox) om man nu også ønsker at slette (yes/no)
Jeg har eksperimenteret med følgende kode:(den er lidt rodet så i må bære over med den)
<script> function confirmDeleteCustumer() { var Message = "Er du sikker?\nDette vil slette kunden fra databasen.";
<% If Request.QueryString("mode") = "delete" Then Query = "Delete FROM Kundetabel where ID = " & Request.Querystring("ID") Connect.Execute Query Response.Redirect "showdball.asp" End If %>
Jeg kan ikke finde ud af at få "mode" og "ID" med ved tryk på knappen. ID på recorden har jeg fat i. Det kan sikkert laves på en anden måde.
<% If Request.QueryString("mode") = "delete" Then Query = "Delete FROM Kundetabel where ID = " & Request.Querystring("ID") Connect.Execute Query Response.Redirect "showdball.asp" End If %>
<% If Request.QueryString("mode") = "delete" Then Query = "Delete FROM Kundetabel where ID = " & Request.Querystring("ID") Connect.Execute Query Response.Redirect "showdball.asp" End If %>
<SCRIPT> function confirmDelete(id) { if (confirm("Er du sikker?\nDette vil slette kunden fra databasen.")){ location.href="'detalje.asp?mode=delete&id=" + id + ""; } } </SCRIPT>
<script> function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.replace('detalje.asp?mode=delete&id=' + c_id); } } </script>
if request.querystring("mode") = "delete" then Query = "Delete FROM Kundetabel where ID = " & Request.Querystring("ID") Connect.Execute(query) Response.Redirect "showdball.asp" end if
mhinqeh-det er tæt på. Den fejler efter tryk på JA.
HTTP-fejl 404 404 Blev ikke fundet Web-serveren kan ikke finde den fil eller det script, du bad om. Kontroller URL-adressen for at sikre, at stinavnet er korrekt.
jeg ved ikke hvordan du gør men du kan gøre sådan her:
-- detalje.asp start--
<% if request.querystring("mode") = "delete" then Query = "Delete FROM Kundetabel where ID = " & Request.Querystring("ID") Connect.Execute(query) Response.Redirect "showdball.asp" end if %> <html> <head> </head> <body> <script language=JScript>
function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.href = "detalje.asp?mode=delete&id=" + c_id; } } </script>
<% if request.querystring("mode") = "delete" then Query = "Delete FROM Kundetabel where ID = " & Request.Querystring("ID") Connect.Execute(query) Response.Redirect "showdball.asp" end if %> <html> <head> </head> <body> <script language=JScript>
function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.href = "detalje.asp?mode=delete&id=" + c_id; } } </script>
det er lige meget da alt kode skrevet mellem <% og %> bliver udført på serveren før noget af html koden bliver udført; dvs posten er slettet før siden vises...
nej, det har jeg fået fra den foregående side Showdball.asp og har med over for at se en mere detaljeret information om den pågældende. Det er på denne side ( detalje.asp) jeg gerne vil have lavet dette.
Jeg henter data fra DB på denne måde 'Find KundeNR fra oversigten fra ShowDBAll.asp id=Request.Querystring("ID")
'OLEDB connection uden brug af ODBC :-) Dim Conn, dbPath dbPath = Server.MapPath("../db/q.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath Set RS=Conn.Execute("SELECT * FROM Kundetabel WHERE KundeNR=" & id )
detalje.asp og showdball.asp ligge i samme bibliotek..
Synes godt om
Slettet bruger
28. februar 2002 - 23:34#40
prøv med dette <% If Request.QueryString("mode") = "delete" Then idx = request("idx")
Query = "DELETE FROM Adresse WHERE ID=" & idx Connect.Execute Query Response.Redirect "showdball.asp" End If %> <SCRIPT> function confirmDelete(id) { if (confirm("Er du sikker?\nDette vil slette kunden fra databasen.")){ location.href="detalje.asp?mode=delete&idx=" + id + ""; } } </SCRIPT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Administration</TITLE> <link REL="STYLESHEET" HREF="style.css" TYPE="text/css"> </HEAD> <BODY BGCOLOR="#DCCDBC">
<script language=JScript> function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.href = "default.asp?mode=delete&id=" + c_id; } } </script>
<a name="top"></a>
<% 'Find KundeNR fra oversigten fra ShowDBAll.asp id=Request.Querystring("ID")
'OLEDB connection uden brug af ODBC :-)
Dim Conn, dbPath dbPath = Server.MapPath("db.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
if request.querystring("mode") = "delete" then conn.Execute("Delete FROM Kundetabel where kundenr = " & Request.Querystring("ID")) Response.Redirect "showdball.asp" end if
Set RS=Conn.Execute("SELECT * FROM Kundetabel WHERE KundeNR=" & id )
'Henter serverens date + time i dag. DATO=(date()) DATO=DATO+(time()) %> <TABLE ALIGN=CENTER WIDTH=750 > <TR><TD><CENTER><COLOR=C0B6C9><H2>Detailed information on contacts</H2></COLOR></TABLE> <TR><TD><CENTER><H4>Date <%Response.Write (Dato)%></H4></CENTER> </TABLE> <hr WIDTH=800><BR>
jeg får umiddelbart ingen fejl når siden loader, MsgBoxen kommer fint frem, men den kan ikke komme videre. Får en HTTP-fejl 404 404 Blev ikke fundet Web-serveren kan ikke finde den fil eller det script, du bad om. Kontroller URL-adressen for at sikre, at stinavnet er korrekt.
<script language=JScript> function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.href = "default.asp?mode=delete&id=" + c_id; } } </script>
altså:
<script language=JScript> function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.href = "detaljer.asp?mode=delete&id=" + c_id; } } </script>
Response-objekt fejl 'ASP 0156 : 80004005' Headerfejl ../detalje.asp, linje 35 HTTP-headerne skrives allerede til klientbrowseren. Ændringer af HTTP-headers skal foretages, inden sideindholdet skrives.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Administration</TITLE> <link REL="STYLESHEET" HREF="style.css" TYPE="text/css"> </HEAD> <BODY BGCOLOR="#DCCDBC"> <!-- #include file="protect.inc" -->
<script language=JScript> function confirmDeleteCustumer(c_id) { if (confirm ("Er du sikker?\nDette vil slette kunden fra databasen.")){ window.location.href = "detalje.asp?mode=delete&id=" + c_id; } } </script> <a name="top"></a>
<% 'Find KundeNR fra oversigten fra ShowDBAll.asp id=Request.Querystring("ID")
'OLEDB connection uden brug af ODBC :-)
Dim Conn, dbPath dbPath = Server.MapPath("../db/q.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
if request.querystring("mode") = "delete" then conn.Execute("Delete FROM Kundetabel where kundenr = " & Request.Querystring("ID")) Response.Redirect "showdball.asp" end if
Set RS=Conn.Execute("SELECT * FROM Kundetabel WHERE KundeNR=" & id )
'Henter serverens date + time i dag. DATO=(date()) DATO=DATO+(time()) %> <TABLE ALIGN=CENTER WIDTH=750 > <TR><TD><CENTER><COLOR=C0B6C9><H2>Detailed information on contacts</H2></COLOR></TABLE> <TR><TD><CENTER><H4>Date <%Response.Write (Dato)%></H4></CENTER> </TABLE> <hr WIDTH=800><BR>
if request.querystring("mode") = "delete" then conn.Execute("Delete FROM Kundetabel where kundenr = " & Request.Querystring("ID")) Response.Redirect "showdball.asp" end if
SKAL du skrive LIGE efter du åbner din db!! Hvis du laver en response.write før du din response.redirect virker det ikke
Dim Conn, dbPath dbPath = Server.MapPath("../db/q.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
if request.querystring("mode") = "delete" then conn.Execute("Delete FROM Kundetabel where kundenr = " & Request.Querystring("ID")) Response.Redirect "showdball.asp" Response.end end if
response.redirect virker ikke hvis et html-tag sendes før den bliver udført. Sættes response.buffer så til true udføres alle responses før noget overhovedet bliver sendt til clienten...grunden til at det virkede på min maskine er nok at buffering som standard sat til true
kig lige i kat. ASP rune så er der lidt flere point. Spørgsmål: Point til rune. 30 flere af slagsen.
Synes godt om
Ny brugerNybegynder
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.