Avatar billede willi Nybegynder
26. september 2003 - 16:30 Der er 7 kommentarer og
1 løsning

Kald til database ustabilt

asp, access, vbscript, iis
Bedre overskrift kunne jeg ikke finde.

Denne kode anvendes:
st = Request.Form("slet")
                            Conn.execute("Delete from DBMemo where MemID = " & st)

Denne fejlmeddelelse kommer:
Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "MemID =".

Linien:> Conn.execute("Delete from DBMemo where MemID = " & st)

Men hvis jeg "kobler" den linie ud og opdaterer browseren ser jeg listen med id.
Hvis jeg så ophæver "udkoblingen", gemmer filen og opdaterer browseren kommer fejlmeddelelsen ikke!

Nogen som kan gennemskue dette?
Avatar billede keysersoze Ekspert
26. september 2003 - 16:34 #1
umiddelbart lyder det som om at value fra formen ikke har nogen værdi før du har opdateret. Det er svært at gennemskue uden at se mere af koden samt se hvordan det reelt fungere - men fejlen skyldes i hvert fald variablen "st2 er tom første gang du fosøger at kalde siden
Avatar billede keysersoze Ekspert
26. september 2003 - 16:35 #2
hovsa - mente "st" og ikke "st2
Avatar billede hossein Nybegynder
26. september 2003 - 18:09 #3
hvad er det for en element Slet: checkbox, radioknap? Request.Form("slet")
Avatar billede willi Nybegynder
26. september 2003 - 23:30 #4
Det er en tekst box
Avatar billede hossein Nybegynder
27. september 2003 - 11:11 #5
skriver man så et tal i tekstboksen? Læg din kode for at se hvad der foregår. Fordi en bedre løsning er f ex et chekbox foran den valgte record/post også submitter man til en handler side hvor din sql (delete) er.
Avatar billede willi Nybegynder
27. september 2003 - 13:10 #6
Her er koden

<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Form</title>
    </head>
    <body>
        <TABLE>
            <TR>
                <form  method="post" >
                    <TR>
                        <TD>
                            Slet ID nr &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                            <input type="text" name=slet SIZE="5" >
                            <input type="submit" value=slet>
                        </TD>
                    </TR>
                </form>
                </TR>
                <TR>
                    <TD>
                        <%
                            ' Databaseforbindelse - husk at angive sti til din database
                            Set Conn = Server.CreateObject("ADODB.Connection")
                            DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
                            DSN = DSN & "DBQ=" & Server.MapPath("DBOPSlagsTavle.mdb")
                            conn.Open DSN
                                                                     
                            strSQL = "Select * From DBMemo Order by MemID Desc"
                            Set rs = Conn.Execute(strSQL)   
                            Response.Write "<p>Regitrerede Memo i databasen</p>"
                                                                               
                            Do
                            strOverskrift = rs("MemOverskrift")
                            strTekst = rs("MemTekst")
                            strForfatter = rs("MemForfatter")
                            strID = rs("MemID")
                           
                            Response.Write "<a href=OPFormDel.asp?<P>ID nummer : " & strID &  "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & " Overskrift " & strOverskrift & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & "  Forfatter: " & strForfatter & "<BR>"&"</a>"
                            rs.movenext
                            loop While Not rs.EOF
                            st = Request.Form("slet")
                            Conn.execute("Delete from DBMemo where MemID = " & st)
                           
                            Conn.Close
                            Set Conn=nothing               
                            %>
                           
                </TD>
            </TR>
        </TABLE>
    </body>
</html>
Avatar billede keysersoze Ekspert
28. september 2003 - 00:12 #7
første gang du loader ovenstående side vil din form "slet" være tom - og derfor kommer fejl.... prøv dette;

st = Request.Form("slet")
If st <> "" Then
Conn.execute("Delete from DBMemo where MemID = " & st)
End If
Avatar billede willi Nybegynder
28. september 2003 - 18:44 #8
Smukt. Det er/var problemet keysersoze.
Tak for hjælpen.
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