Avatar billede ha Nybegynder
19. november 2003 - 10:24 Der er 1 kommentar

sletning fra database

Hej ...

Jeg er igang med at lave et administrations modul til et site... Problemet er bare at jeg har overtaget opgaven fra en anden som er forsvundet og derfor er det hele sat helt anderledes op end jeg plejer at arbejde.. det virker ok, man kan logge ind og se de forskellige kategorier og man kan gå ind på hver enkelt kategori og se kontakter, men man kan ikke slette kontakter fra databasen... her kommer koden hvor man ser kontakter...:

<%
                            If Session("AdminLogin") = "true" Then
                        %>
                        <!-- #INCLUDE file="data_connection.asp" -->
                        <%
                            If Not (KontaktRS.BOF And KontaktRS.EOF) Then
                                Dim i
                                i = 0
                                KontaktRS.MoveFirst
                                Response.Write "<form name=""kontakt_mamodels"" action=""rem_kontakt.asp"" method=""post"">"
                                Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"">"
                                Response.Write "<tr>"
                                Response.Write "<td colspan=""2"" align=""left"" valign=""middle"" bgcolor=""#ebebeb"">"
                                Response.Write "<font color=""#c00000"">"
                                Response.Write "<small>Der er "
                                Response.Write KontaktRS.RecordCount
                                Response.Write " beskeder</small></font>"
                                Response.Write "<input type=""hidden"" name=""kontaktantal"" value="
                                Response.Write Chr(34)
                                Response.Write Trim(CStr(KontaktRS.RecordCount))
                                Response.Write Chr(34)
                                Response.Write "></td>"
                                Response.Write "</tr>"
                                Do Until KontaktRS.EOF
                                    i = (i + 1)
                                    Response.Write "<tr>"
                                    Response.Write "<td width=""30"" align=""left"" valign=""middle"">"
                                    Response.Write "<input type=""checkbox"" name=""msg"
                                    Response.Write i
                                    Response.Write Chr(34)
                                    Response.Write ">"
                                    Response.Write "</td>"
                                    Response.Write "<td align=""left"" valign=""middle""><small><b>Navn:</b>&nbsp;"
                                    Response.Write KontaktRS("Navn")
                                    Response.Write "<br><b>E-Mail:</b>&nbsp;"
                                    Response.Write KontaktRS("Mail")
                                    Response.Write "<br><b>Telefon:</b>&nbsp;"
                                    Response.Write KontaktRS("Telefon")
                                    Response.Write "<br><b>By:</b>&nbsp;"
                                    Response.Write KontaktRS("By")
                                    Response.Write "<br><br>"
                                    Response.Write "<b>Kommentar:</b><br>"
                                    Response.Write KontaktRS("Kommentar")
                                    Response.Write "</td></tr>"
                                    KontaktRS.MoveNext
                                    If Not KontaktRS.EOF Then
                                        Response.Write "<tr height=""5"">"
                                        Response.Write "<td colspan=""2"" bgcolor=""#ebebeb""></td>"
                                        Response.Write "</tr>"
                                    End If
                                Loop
                                Response.Write "<tr><td colspan=""2"" align=""right"" valign=""middle"">"
                                Response.Write "<input type=""submit"" name=""slet"" value=""Slet Markerede"">"
                                Response.Write "</td></tr></table>"
                            Else
                                Response.Write "<b>Der er ingen henvendelser!</b>"
                            End If
                        %>
                        <!-- #INCLUDE file="../data_close.asp" -->
                        <%
                            Else
                        %>
                        <b>Du er ikke logget ind!</b>
                        <br><br>
                        <a href="admin.asp" onMouseOver="window.status='Gå til Log-In siden...'; return true;" onMouseOut="window.status=''; return true;">Gå til Log-In siden.</a>
                        <%
                            End If
                        %>
(jeg har ikke hele siden med har i brug for mere så sig til)
og her kommer koden hvor man sletter kontakter :
<%
    Dim DelRecordCount
    Dim DelRecords()
    dim RequestName
    DelRecordCount = CLng(Request("kontaktantal"))
    ReDim DelRecords(DelRecordCount)
%>

<%
    Dim rC
    For rC = 1 To DelRecordCount
        RequestName = ("msg" + Trim(CStr(rC)))
        DelRecords(rC) = Request(RequestName)
        If LCase(DelRecords(rC)) = "on" Then
            DelRecords(rC) = (DelRecords(rC) + Trim(CStr(rC)))
        End If
    Next
    If DelRecordCount = 0 Then
        ReturnToPage
    End If
%>

<html>
<head>
    <title>Fjern Kontakter fra Databasen</title>
</head>
<body>
<%
    Dim i
    For i = 1 To DelRecordCount
        Response.Write "Navn:&nbsp;<b>"
        Response.Write ("msg" + Trim(CStr(i)))
        Response.Write "</b><br>Værdi:&nbsp;<b>"
        Response.Write Request(("msg" + Trim(CStr(i))))
        Response.Write "</b><br><hr>"
    Next
%>
</body>
</html>
<!-- #INCLUDE file="data_connection.asp" -->

<%
    If Not (KontaktRS.BOF And KontaktRS.EOF) Then
        Dim j
        i = 0
        j = 1
        KontaktRS.MoveFirst
        Do While DelRecords(j) = ""
            If j = DelRecordCount Then
                KontaktRS.MoveLast
                Exit Do
            End If
        Loop
        Do Until KontaktRS.EOF
            If i >= DelRecordCount Then
                Exit Do
            End If
            i = (i + 1)
            If Trim(CStr(i)) = Right(DelRecords(j),(Len(DelRecords(j)) - 3)) Then
                KontaktRS.Delete adAffectCurrent
                KontaktRS.Update
                KontaktRS.MoveFirst
                If j = DelRecordCount Then
                    Exit Do
                End If
                i = (i + 1)
                j = (j + 1)
                While DelRecords(j) = ""
                    If j >= DelRecordCount Then
                        Exit Do
                    End If
                    j = (j + 1)
                Wend
            Else
                KontaktRS.MoveNext
            End If
        Loop
    End If
%>
<!-- #INCLUDE file="../data_close.asp" -->
<%
    ReturnToPage
%>
<script language="vbscript" runat="server">
    Sub ReturnToPage()
        Response.Redirect "se_kontakt.asp"
    End Sub
</script>


er der nogen derude der kan se fejlen... det hele står bare og hænger når jeg prøver at slette en post... jeg ville selv have lavet det helt anderledes... men jeg er mere grafiker end programmør så måske er det her det helt rigtige måde at gøre det... jeg synes bare det ser lidt bøvlet ud....

Jeg håber virkelig nogen kan hjælpe mig.. ellers må jeg lave det helt fra bunden...

hilsen ha
Avatar billede mortenkjeldberg Nybegynder
19. november 2003 - 12:59 #1
Hej

Jeg har set lidt på din løkke der ser ud som følger:

Do While DelRecords(j) = ""
  If j = DelRecordCount Then
      KontaktRS.MoveLast
      Exit Do
  End If
Loop

Efter "End If" prøv at sætte j=(j+1) ind. Jeg ved ikke om det ødelægger nogetr for opgaven, men det kunne være her den går i evig løkke.

/mort3n
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