Avatar billede Slettet bruger
07. april 2009 - 12:01 Der er 9 kommentarer og
1 løsning

Slet fra database

Hej.

Jeg har lavet følgende udskrift fra databasen og vil gerne
have at når jeg trykker "Checkboxen" ud fra den udskrevne record, så skal den slettes i databasen. Nu kan man blot komme ind og redigerer i den man trykker på.

Hvordan kan jeg lave det?

<%

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM comment ORDER BY ID desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/db/dbtest1.mdb")
rs.Open strSQL, strDSN, 1

   
    <%
    Do While Not rs.EOF And intRecCount > 0

<input type="checkbox" name="deletepost"><a href="recomment.asp?id=<%= rs("MinID") %>"><%= rs("Minbeskrivelse") %>

    <%
        intRecCount = intRecCount - 1
        rs.MoveNext
    Loop

End If

rs.Close
Set rs = Nothing
%>

Mvh.
Henrik
Avatar billede mitbrugernavn Praktikant
07. april 2009 - 12:12 #1
du gør følgende:

<%
if request("ok_slet") <> "" then
response.write request("deletepost") 'her kan du se dem du har valgt
arr = split(request(""),",")
for b = 0 to ubound(arr)
strSQL = "delete from xxxx where MinID = "& arr(b)
set rs = conn.execute(strSQL)
next
end if

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM comment ORDER BY ID desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/db/dbtest1.mdb")
rs.Open strSQL, strDSN, 1

    <form>
    <%
    Do While Not rs.EOF And intRecCount > 0

<input type="checkbox" name="deletepost" value="<%=rs("MinID")%>"><a href="recomment.asp?id=<%= rs("MinID") %>"><%= rs("Minbeskrivelse") %>

    <%
        intRecCount = intRecCount - 1
        rs.MoveNext
    Loop

End If

rs.Close
Set rs = Nothing
%><input type="submit" name="ok_slet" value=" SLET ">
</form>
Avatar billede Slettet bruger
07. april 2009 - 13:33 #2
Tak for din hurtige respons.
Har rettet det lidt til, men skulle gerne være tilpasset som du skrev, men får følgende fejl.


Microsoft VBScript compilation error '800a0400'

Expected statement

comment.asp, line 122

End if

(Det er 5 sidste linje)


<%
if request("ok_slet") <> "" then
response.write request("deletepost") 'her kan du se dem du har valgt
arr = split(request(""),",")
for b = 0 to ubound(arr)
strSQL = "delete from mycomment where ID = "& arr(b)
set rs = conn.execute(strSQL)
next
end if

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM comment ORDER BY ID desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/database/dbtest.mdb")
rs.Open strSQL, strDSN, 1

          Do while Not rs.EOF And intRecCount > 0

%>
  <form>

    <table border="0" width="98%" id="table3095">
        <tr>
    <td width="27%">
<tr>

<input type="checkbox" name="deletepost" value="<%=rs("ID")%>"><a href="redigercomment.asp?id=<%= rs("ID") %>"><%= rs("beskrivelse") %>
    <%
        intRecCount = intRecCount - 1
        rs.MoveNext
    loop
End if
rs.Close
Set rs = Nothing
%><input type="submit" name="ok_slet" value=" SLET ">
</form>
Avatar billede mitbrugernavn Praktikant
07. april 2009 - 13:41 #3
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM comment ORDER BY ID desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/database/dbtest.mdb")
rs.Open strSQL, strDSN, 1
%>
  <form>
<%

          if not rs.EOF
do
id = rs("ID")
%>


    <table border="0" width="98%" id="table3095">
        <tr>
    <td width="27%">
<tr>

<input type="checkbox" name="deletepost" value="<%=id%>"><a href="redigercomment.asp?id=<%=id%>"><%= rs("beskrivelse") %>
</td>
</tr>
</table>
    <%
rs.movenext
loop while not rs.eof
end if
rs.Close
Set rs = Nothing
%><input type="submit" name="ok_slet" value=" SLET ">
</form>
Avatar billede mitbrugernavn Praktikant
07. april 2009 - 13:42 #4
ups mangler lige then

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM comment ORDER BY ID desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/database/dbtest.mdb")
rs.Open strSQL, strDSN, 1
%>
  <form>
<%

          if not rs.EOF then
do
id = rs("ID")
%>


    <table border="0" width="98%" id="table3095">
        <tr>
    <td width="27%">
<tr>

<input type="checkbox" name="deletepost" value="<%=id%>"><a href="redigercomment.asp?id=<%=id%>"><%= rs("beskrivelse") %>
</td>
</tr>
</table>
    <%
rs.movenext
loop while not rs.eof
end if
rs.Close
Set rs = Nothing
%><input type="submit" name="ok_slet" value=" SLET ">
</form>
Avatar billede Slettet bruger
07. april 2009 - 13:55 #5
Kanon. Det ser ud til at virke nu. Mange tak.
Har dog lige et problem, der er for mange records i databasen så den kommer med følgende:

Execution of the ASP page caused the Response Buffer to exceed its configured limit.

Har du tid til at hjælpe med at lave sideskift, ville det være meget lækkert.

Ved ikke om det er hurtigt at tilføje? Men har følgende jeg bruger på andre sider, måske det kan genbruges? Har lige skrevet koden ned hvor det er i forhold til det vi har nu.

FØR CONNECT TIL DATABASEN ER FØLGENDE TILFØJET:


intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If


EFTER CONNECT TIL DATABASEN ER FØLGENDE:

    If Not (rs.BOF Or rs.EOF) Then

    rs.PageSize = 15
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount


OG SIDST PÅ SIDEN ER FØLGENDE:



<%
Response.Write "<p><strong>Gå til side</strong> "
%>
<br>
<%

For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum & """>" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=""?page=" & intPage - 1 & """>Forrige side</a>"
Else
    Response.Write "Forrige side"
End If

Response.Write " - "

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & intPage + 1 & """>Næste side</a> "
Else
    Response.Write "Næste side"
End If

%>
Avatar billede Slettet bruger
08. april 2009 - 10:15 #6
Hey, hvis du ikke har tid til at hjælpe med det sidste jeg skrev er det helt fint. Jeg er meget glad for det andet du hjalp med.
Bare giv svar, så laver jeg bare en ny tråd med mit nye problem... ;-)

Mvh.
Henrik
Avatar billede mitbrugernavn Praktikant
08. april 2009 - 10:25 #7
desværre - jeg kan ikke nå det lige nu. Så for at du kan komme videre så opret et nyt spørgsmål.

god påske
Avatar billede Slettet bruger
08. april 2009 - 10:31 #8
Helt okay.. :-)
Og tak i lige måde og tak for hjælpen..
Avatar billede Slettet bruger
08. april 2009 - 14:07 #9
Ved ikke om man kan gøre som jeg har gjort, det begyndte at være lidt uoverskueligt for mig..

Men her er koden:


intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If


<%
if request("ok_slet") <> "" then
response.write request("deletepost") arr = split(request(""),",")
for b = 0 to ubound(arr)
strSQL = "delete from comment where ID = "& arr(b)
set rs = conn.execute(strSQL)
next
end if



Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM comment ORDER BY ID desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/database/dbtest.mdb")
rs.Open strSQL, strDSN, 1

  If Not (rs.BOF Or rs.EOF) Then

    rs.PageSize = 15
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount


%>
  <form>
<%


          if not rs.EOF then
do
id = rs("ID")
%>


    <table border="0" width="98%" id="table3095">
        <tr>
    <td width="27%">
<tr>

<input type="checkbox" name="deletepost" value="<%=id%>"><a href="redigercomment.asp?id=<%=id%>"><%= rs("beskrivelse") %>
</td>
</tr>
</table>
    <%
rs.movenext
loop while not rs.eof
end if
rs.Close
Set rs = Nothing
%><input type="submit" name="ok_slet" value=" SLET ">
</form>


<%
Response.Write "<p><strong>Gå til side</strong> "
%>
<br>
<%

For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum & """>" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=""?page=" & intPage - 1 & """>Forrige side</a>"
Else
    Response.Write "Forrige side"
End If

Response.Write " - "

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & intPage + 1 & """>Næste side</a> "
Else
    Response.Write "Næste side"
End If

%>
Avatar billede Slettet bruger
08. april 2009 - 14:11 #10
der skal lige et End If mere på efter den sidste End if og så gav det følgende:

Response object error 'ASP 0251 : 80004005'

Response Buffer Limit Exceeded

redigercomment_backup.asp, line 0

Execution of the ASP page caused the Response Buffer to exceed its configured limit.


Så den får jo ikke rigtig brugt det med side skift osv.. :-(
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