Avatar billede Slettet bruger
17. december 2003 - 12:02 Der er 18 kommentarer og
1 løsning

Slet record i DB

Hej
Jeg har et script der skulle slette en post i min database, men jeg kan ikke få det til at virke og jeg kan ikke finde fejlen, så jeg har brug for lidt hjælp ?
Her er min kode i formen:
<a href="slet.asp?id=<%=res("id")%>">DELETE</a>
Og her er koden i slet.asp
<%
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"

strSQL ="DELETE * FROM Nyhed WHERE id = " & request("id")
%>
Og tilsyneladende "virker" det, der bliver bare ikke slettet noget.
Er der en der kan hjælpe?
Avatar billede medions Nybegynder
17. december 2003 - 12:05 #1
Du mangler jo en Execute!

<%
Set objConn = Server.CreateObject("ADODB.Connection")
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"
objConn.Open strDNS_Bestil

strSQL ="DELETE * FROM Nyhed WHERE id = " & request("id")
objConn.Execute(strSQL)
%>

//>Rune
Avatar billede Slettet bruger
17. december 2003 - 12:08 #2
Ja, selvfølgelig, men nu får jeg denne fejl
Microsoft VBScript runtime error '800a01a8'

Object required: ''

slet.asp, line 13
Avatar billede tjaz Nybegynder
17. december 2003 - 12:31 #3
Og hvad står der i linie 13 ?
Avatar billede Slettet bruger
17. december 2003 - 12:38 #4
Der står dette :
objConn.Execute(strSQL)
Du får lige hele koden:
<html>

<head>
<title>Slet</title>
</head>

<body>
<%
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"


strSQL ="DELETE * FROM Nyhed WHERE id = " & request("id")
objConn.Execute(strSQL)
%>

<h1>Record er slettet!</h1>
</body>
</html>
Avatar billede tzag_dk Nybegynder
17. december 2003 - 14:03 #5
<%
Set objConn = Server.CreateObject("ADODB.Connection")
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"
objConn.Open strDNS_Bestil

strSQL ="DELETE * FROM Nyhed WHERE id = " & request("id") & ""
objConn.Execute(strSQL)
%>

Prøv dette... Det eneste der er lavet om er: & "" i strSQL...

// Rene
Avatar billede Slettet bruger
17. december 2003 - 14:37 #6
Nu har jeg prøvet med denne kode, hvor jeg har sat dit forslag ind, det virker tilsyneladende, men der bliver stadig ikke slettet i DB ??
<%
Sub Main
        Dim objConn, strSQL
   
    strSQL ="DELETE * FROM Nyhed WHERE id = " & request("id") & ""


    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open Session("test")
   
   
    objConn.Execute(strSQL)

        objConn.Close
    Set objConn = Nothing
   
   
End Sub
%>
Avatar billede tzag_dk Nybegynder
17. december 2003 - 15:48 #7
hmm... Prøv det her.

<%
Set objConn = Server.CreateObject("ADODB.Connection")
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"
objConn.Open strDNS_Bestil

strSQL ="DELETE FROM Nyhed WHERE id = " & request("id") & ""
objConn.Execute(strSQL)
%>

// Rene
Avatar billede tzag_dk Nybegynder
17. december 2003 - 15:51 #8
Rettet til i din... :-)

<%
Sub Main
        Dim objConn, strSQL
   
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open Session("test")
   
    strSQL ="DELETE FROM Nyhed WHERE id = " & request("id") & ""
    objConn.Execute(strSQL)

        objConn.Close
    Set objConn = Nothing
   
   
End Sub
%>
Avatar billede Slettet bruger
17. december 2003 - 16:02 #9
Det virker for så vidt stadig fint, men den sletter ikke noget. Kan det have noget at gøre med at jeg i formen bruger en anden connention
<%@ language="JScript" %>
<!--#INCLUDE FILE = "global.asp" -->
Avatar billede tzag_dk Nybegynder
17. december 2003 - 16:09 #10
Prøv at fjern <%@ language="JScript" %>...

// Rene
Avatar billede tzag_dk Nybegynder
17. december 2003 - 16:13 #11
Eller måske det her:


<html>

<head>
<title>Slet</title>
</head>

<body>
<%
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"


strSQL = "DELETE FROM Nyhed WHERE id = " & Request.QueryString("id") & ""
objConn.Execute(strSQL)
%>

<h1>Record er slettet!</h1>
</body>
</html>
Avatar billede Slettet bruger
17. december 2003 - 16:13 #12
Hvis jeg gør det får jeg denne fejl:
Microsoft VBScript compilation error '800a0401'

Expected end of statement

global.asp, line 7

var DB = Server.CreateObject("ADODB.Connection");
------------------------------------------------^
Avatar billede tzag_dk Nybegynder
17. december 2003 - 16:15 #13
Er det når du fjerner <%@ language="JScript" %>, eller?
Avatar billede Slettet bruger
17. december 2003 - 16:17 #14
Ja, det er det og hvis jeg prøver mulighed nr. 2 er jeg tilbage ved den oprindelige fejl
Avatar billede tzag_dk Nybegynder
17. december 2003 - 16:20 #15
Og du har prøvet at fjerne * i DELETE FROM ??
Avatar billede Slettet bruger
17. december 2003 - 16:21 #16
Yes
Avatar billede tzag_dk Nybegynder
17. december 2003 - 16:25 #17
hmm det virker godt nok underligt :-)

Prøv at fjerne:
<%@ language="JScript" %>
<!--#INCLUDE FILE = "global.asp" -->

Og så lave en VB connection string i asp filen.

// Rene
Avatar billede Slettet bruger
17. december 2003 - 16:40 #18
Jeg kan bare ikke få det til at virke, så jeg tror at jeg prøver at lave formen helt om. du skal have mange tak for hjælpen og du skal have point alligevel, så kan du ikke give et svar.
Linda
Avatar billede tzag_dk Nybegynder
17. december 2003 - 17:05 #19
Ok takker :-)
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