Avatar billede m-koldsgaard Nybegynder
29. august 2001 - 15:45 Der er 10 kommentarer og
2 løsninger

Slet i database

Hej

Er der nogen har kan lave et script som sletter en post i en tabel?
Avatar billede tommyf Nybegynder
29. august 2001 - 15:48 #1
Avatar billede icedox Nybegynder
29. august 2001 - 18:50 #2
Ja, jeg kan!
-men det koster (lidt!)
Avatar billede m-koldsgaard Nybegynder
29. august 2001 - 21:34 #3
På www.html.dk står der hvordan man kan få et dokument til at slette en record når man åbner filen.

Det jeg havde tænkt mig, var at der efter hver linie skulle være en tekstknap som man kunne trykke på og som slettede den record fra databasen.

Er der nogen der kan lave det?
Avatar billede icedox Nybegynder
29. august 2001 - 21:37 #4
Ja, jeg kan!
-men det koster (lidt!)
Avatar billede webbe Nybegynder
30. august 2001 - 09:15 #5
Igen du - det koster flere point!
Avatar billede m-koldsgaard Nybegynder
30. august 2001 - 09:17 #6
OK webbe du får flere point!
Avatar billede webbe Nybegynder
30. august 2001 - 09:26 #7
Okay - here goes:

Først filen hvor du henter dine oplysninger - og sletter dem i samme fil:

<html>
<head>
<title></title>
<script language=\"javascript\">
<!--
function slet(Id) {
    if (confirm(\"Er du sikker på, at du vil slette denne post?\")) {
        location = \"update.asp?action=slet&id=\" + Id;
    }
}
//-->
</script>
</head>
<body>
<%
Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"dsn\"

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM table_name\", Connect, 1, 3
%>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"600\">
    <tr>
        <td width=\"100\" valign=\"top\"><font face=\"Verdana\" size=\"2\">Dato</font></td>
        <td width=\"400\" valign=\"top\"><font face=\"Verdana\" size=\"2\">Website</font></td>
        <td width=\"100\" valign=\"top\"></td>
    </tr>
    <%
    do until rs.EOF
    %>
    <tr>
        <td width=\"100\" valign=\"top\"><font face=\"Verdana\" size=\"1\"><%=rs(\"Dato\")%></font></td>
        <td width=\"400\" valign=\"top\"><font face=\"Verdana\" size=\"1\"><a href=\"filename.asp?id=<%=rs(\"Id\")%>\"><%=rs(\"Link\")%></a></font></td>
        <td width=\"100\" valign=\"top\" align=\"right\"><font face=\"Verdana\" size=\"1\"><a href=\'java script:slet(\"<%=rs(\"Id\")%>\")\'>Slet</a></font></td>
    </tr>
    <%
    rs.MoveNext
    loop
    %>
</table>
<%
Select Case Request.QueryString(\"action\")

Case \"slet\"

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"dsn\"

Connect.Execute(\"DELETE FROM table_name WHERE Id=\" &Request.QueryString(\"id\"))

Connect.Close
Set Connect = Nothing

Response.Redirect(\"filename.asp\")

End Select
%>
</body>
</html>
Avatar billede webbe Nybegynder
30. august 2001 - 09:26 #8
Der bliver brugt et javascript til at identificere den post du vil slette - du skal blot angive samme filnavn, som du skriver resten i!
Avatar billede m-koldsgaard Nybegynder
30. august 2001 - 10:49 #9
webbe jeg har rettet lidt i den så den passer til min side, men jeg får fejlen:
Der er for få parametre. Der var ventet 2.
I linien: Connect.Execute(\"DELETE FROM table_name WHERE Id=\" &Request.QueryString(\"id\"))

Hvad er der forkert?
Avatar billede m-koldsgaard Nybegynder
30. august 2001 - 14:44 #10
OK jeg lavede det om til:
strSQL = \"Delete from Tabelnavn where ID\" &Request.QueryString(\"ID\")
Conn.Execute(strSQL)

og den fejl forsvandt, men der kom en ny:

Et objekt er obligatorisk: \'\'

I linien: Conn.Execute(strSQL)

Er der hjælp til det?
Avatar billede m-koldsgaard Nybegynder
30. august 2001 - 21:39 #11
Jeg har fundt ud af det!!!

Men sprørg mig ikke hvordan jeg rodede bare lidt rundt og vubtig!

Avatar billede m-koldsgaard Nybegynder
30. august 2001 - 21:44 #12
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