Avatar billede remo27 Nybegynder
29. maj 2007 - 21:12 Der er 14 kommentarer og
2 løsninger

mangler en slet funktion

Jeg er meget grøn i asp programmering, men jeg har lånt lidt her og der og fået flækket et lille upload af data til en db, samt en udtræks side, nu vil jeg gerne have en slet funktion, som skal køre kunne slette poster i databasen, hvem har tid til at hjælp/guide mig.
Avatar billede soerenlyn Nybegynder
29. maj 2007 - 21:31 #1
Hvis feltet er tal:
Conn.Execute("DELETE FROM [tabel] WHERE [id] = " & strID)

Hvis feltet er tekst:
Conn.Execute("DELETE FROM [tabel] WHERE [name] = '" & strName & "'")
Avatar billede remo27 Nybegynder
29. maj 2007 - 21:53 #2
Det jeg savner, er en udtræks side af databasen med delete funktion koblet på.
Avatar billede jansangill Nybegynder
29. maj 2007 - 23:38 #3
Dette her vil loope data ud og du kan slette forskellige felter


<%
'Åbner forbindelse
set conn = server.CreateObject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("xxx")

set rss = conn.execute("SELECT xxx ORDER BY f.id DESC")
%>

<body>
<%

if request.form("doIt") = "Enter" then
    action = request.form("toDo")
    id = request.form("id")
   
    if action = "delete" then
        set db = conn.execute("delete from forum where id ="&id)
        set db2 = conn.execute("delete from comment where id ="&id)
    end if

    end if
   
%>


<table width="400" align="center">
<tr><td>
    <form action="<%=request.ServerVariables("URL")%>" method="post">
    <select name="id">
<%
    set db = conn.execute("SELECT xxx ORDER BY f.id DESC")
    do while not db.eof

        if Int(id) = Int(db("id")) then
%>
        <option value="<%=db("id")%>" selected><%=db("id")%></option>
<%
        else
%>
        <option value="<%=db("id")%>"><%=db("id")%></option>
<%
        end if
    db.moveNext
    loop
    conn.close
    Set conn = NOTHING
%>
    </select>

<input name="toDo" type="radio" value="delete">
Delete?
<br>
<input type="submit" value="Enter" name="doIt">
</form>
</td></tr>
</table>


<br>
       
<%
do while not rss.eof
%>

<table>
    <tr>
               
<td><a href="xxx.asp?id=<%=rss("id")%"><%=rss("xxx")%></a></td>
        <td><%=rss("id")%></td>
      </tr>
</table>

<%

rss.moveNext
loop
rss.close
set rss = NOTHING
%>


Hvis du kan hitte ud af lortet jeg lige har displayet. Det er lidt messy, især fordi det ikke er sikkert du lige kan tage det og genbruge lige sådan.
Avatar billede w13 Novice
30. maj 2007 - 15:13 #4
Hvad hedder din database? tabellen i databasen? dine felter i tabellen?
Avatar billede remo27 Nybegynder
31. maj 2007 - 23:09 #5
w13>> min database hedder brugerinfo.mdb tabellen hedder ks felter hedder

id (autonum) dato(dato & klokkes) overskrift(tekst) navn(tekst) email(tekst) tlf(tekst) teks(notat) emne(tekst)
Avatar billede w13 Novice
01. juni 2007 - 04:16 #6
Så har jeg prøvet at rette koden lidt til, så den passer til dine oplysninger. Den skulle være klar til at sætte ind på din side nu. :)

Dvs. du skal nok rette anden linje - går ud fra, at "brugerinfo.mdb" ligger i en eller anden mappe..
------------------------------------------------
<%set conn = server.CreateObject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("brugerinfo.mdb")

if request.form("doIt") = "Enter" then
    action = request.form("toDo")
    id = request.form("id")
   
    if action = "delete" then
        conn.execute("delete * from [brugerinfo] where id ="&id)
    end if

end if%>

<table width="400" align="center">
<tr><td>
    <form action="?" method="post">
    <select name="id">
<%  set rs = conn.execute("SELECT * FROM [ks]")
    do while not rs.eof

      if Int(id) = Int(rs("id")) then%>
        <option value="<%=rs("id")%>" selected><%=rs("id")%></option>
<%    else%>
        <option value="<%=rs("id")%>"><%=rs("id")%></option>
<%    end if
    rs.moveNext
    loop
    rs.close
    set rs = Nothing%>
    </select>

<input name="toDo" type="radio" value="delete">
Delete?
<br>
<input type="submit" value="Enter" name="doIt">
</form>
</td></tr>
</table>

<br>
       
<%set rs = conn.execute("SELECT * FROM [ks]")

do while not rs.EOF%>

<table>
    <tr>
<td><a href="?id=<%=rs("id")%"><%=rs("dato")%> - <%=rs("overskrift")%></a></td>
        <td><%=rs("id")%></td>
    </tr>
</table>

<%rs.moveNext
loop
rs.close
set rs = Nothing
conn.close
Set conn = Nothing%>
Avatar billede remo27 Nybegynder
05. juni 2007 - 22:24 #7
w13>> jeg får denne fejl

Tegnet er ugyldigt
/web/Adpd/admin/sletks.asp, line 49, column 23
Response.Write(rs("id")%"><%=rs("dato"))
----------------------^


<td><a href="?id=<%=rs("id")%"><%=rs("dato")%> - <%=rs("overskrift")%></a></td>
        <td><%=rs("id")%></td>
Avatar billede w13 Novice
05. juni 2007 - 22:57 #8
Ja, bare ret til:
<td><a href="?id=<%=rs("id")%><%=rs("dato")%> - <%=rs("overskrift")%></a></td>
        <td><%=rs("id")%></td>

Der har jeg fjernet et "
Avatar billede remo27 Nybegynder
05. juni 2007 - 23:23 #9
hmmm soerenlyn & w13, den ser lidt spøjs ud denne slet funktion.

http://remo.lir.dk/demo/ log på som remo i brugernavn & password og vælg "Slet i køb/Salg" havde forestillet man kunne se overskrift på hver post som skulle slettets.
Avatar billede w13 Novice
05. juni 2007 - 23:56 #10
Så prøv:
-------------------------------------------
<%set conn = server.CreateObject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("brugerinfo.mdb")

if request.querystring("id") <> "" then
    id = request.querystring("id")
   
    if action = "delete" then
        conn.execute("delete * from [brugerinfo] where id ="&id)
    end if

end if%>

<table width="400" align="center">
<tr><td>
<%  set rs = conn.execute("SELECT * FROM [ks]")
    do while not rs.eof%>
        <a href="?id=<%=rs("id")%>"><%=rs("overskrift")%></a>
<%  end if
    rs.moveNext
    loop
    rs.close
    set rs = Nothing%>
</td></tr>
</table>

<br>
       
<%set rs = conn.execute("SELECT * FROM [ks]")

do while not rs.EOF%>

<table>
    <tr>
<td><a href="?id=<%=rs("id")%><%=rs("dato")%> - <%=rs("overskrift")%></a></td>
        <td><%=rs("id")%></td>
    </tr>
</table>

<%rs.moveNext
loop
rs.close
set rs = Nothing
conn.close
Set conn = Nothing%>
Avatar billede w13 Novice
05. juni 2007 - 23:57 #11
if action = "delete" then
        conn.execute("delete * from [brugerinfo] where id ="&id)
    end if
Skal så i øvrigt være:
    if action = "delete" then
        conn.execute("delete * from [ks] where id ="&id)
    end if
Avatar billede remo27 Nybegynder
18. juni 2007 - 20:50 #12
w13>> Har rodet med dette script længe nu, kan ikke få det til at virke :O( 
der kommer ikke nogle fejl, men den sletter bare intet
Avatar billede w13 Novice
19. juni 2007 - 09:41 #13
Prøv at tjekke, om den udskriver det rigtige så:
Response.Write ("delete * from [ks] where id = " & id)

Deletefunktionen giver vist ikke fejl, hvis den ikke kan finde posten, som den skal slette.
Avatar billede remo27 Nybegynder
24. juni 2007 - 10:00 #14
w13>> Jeg har lavet mit eget lille design nu til min slette funktion, nu magler jeg bare slette funktions delen.

<meta http-equiv="Content-Language" content="da">
<!-- #include file="../databaseforbindelse.asp"-->
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">
  <tr>
    <td width="90%" class="topbar" align="center">Her kan du slette i Køb/Salg databasen</td>
  </tr>
    <% Set Query = Conn.Execute("SELECT  * From ks order by dato desc")%>
      <% Do until Query.EOF %>
  <tr>
    <td width="90%"><%=Query("dato")%>&nbsp;<%=Query("overskrift")%>&nbsp;(<%=Query("emne")%>)&nbsp;slet<hr size="1" noshade></td>
  </tr>
  <%Query.MoveNext%>
      <%loop%>
</table>
</cenetr>

ved at klikke på slet skal man kunne slette posten i db'en
Avatar billede remo27 Nybegynder
24. juni 2007 - 10:02 #15
giver lidt flere point, da jeg er lidt krævende ;O)
Avatar billede w13 Novice
24. juni 2007 - 13:03 #16
Prøv:

<meta http-equiv="Content-Language" content="da">
<!-- #include file="../databaseforbindelse.asp"-->
<%If Request.Querystring("mode") = "delete" Then
  Conn.Execute("DELETE * From [ks] where [id] = " & Request.Querystring("id"))
End If%>
<p style="width:100%;text-align:center;">
<table style="border-collapse:collapse;border:1px solid #111111; width:90%;">
  <tr>
    <td class="topbar" style="width:90%;text-align:center;">Her kan du slette i Køb/Salg databasen</td>
  </tr>
    <% Set Query = Conn.Execute("SELECT * From [ks] order by [dato] desc")%>
      <% Do until Query.EOF %>
  <tr>
    <td style="width:90%;"><%=Query("dato")%>&nbsp;<%=Query("overskrift")%>&nbsp;(<%=Query("emne")%>)&nbsp;<a href="?mode=delete&id=<%=Query("id")%>" target="_self">slet</a>
      <hr size="1">
    </td>
  </tr>
  <%Query.MoveNext%>
      <%loop%>
</table>
</p>
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