Avatar billede zantiago Nybegynder
30. oktober 2003 - 15:21 Der er 11 kommentarer og
1 løsning

RS.Delete virker ikke

Hej Eksperter

Jeg har et delete-script som jeg ved virker, da jeg har brugt det 100 gange før, men nu siger den noget vås - Håber i kan hjælpe:
-----------------------
Dette er den url jeg går til : [PictureAction=Slet&id=24]
I databasen er id = 24 [bart.jpg]
-----------------------
Mit asp script:
<%
if Request.QueryString("PictureAction") = "Slet" then

Set rs_slet = Server.CreateObject("ADODB.RecordSet")
rs_slet.open "Select * From [pic] WHERE id = " & request("id") & "", Conn, 1, 3

rs_slet.delete
rs_slet.update

end if
%>

-----------------------
Fejlen kommer så:

ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

admin.asp, line 0
-----------------------


Håber I kan hjælpe...

//Bruhn
Avatar billede hiks Nybegynder
30. oktober 2003 - 15:27 #1
prøv denne:

rs_slet.open "Select * From [pic] WHERE id = " & Clng(request.querystring("id")) & "", Conn, 1, 3

/hiks
Avatar billede zantiago Nybegynder
30. oktober 2003 - 15:31 #2
Virker desværre heller ikke!!! Stadig samme fejl!!

<%
Set rs_slet = Server.CreateObject("ADODB.RecordSet")
rs_slet.open "Select * From [pic] WHERE id = " & Clng(request.querystring("id")) & "", Conn, 1, 3
   
rs_slet.delete
rs_slet.update
%>
Avatar billede hiks Nybegynder
30. oktober 2003 - 15:38 #3
har du prøvet inden du smider den i sql'en at gøre sådan:

<%
dim id
id = Clng(request.querystring("id"))
Set rs_slet = Server.CreateObject("ADODB.RecordSet")
rs_slet.open "Select * From [pic] WHERE id = " & id & "", Conn, 1, 3
   
rs_slet.delete
rs_slet.update
%>

ellers kan jeg ikke lige se det ud fra det og det ikke allerede skulle være slettet i databasen - det har du tjekket?
Avatar billede keysersoze Ekspert
30. oktober 2003 - 15:41 #4
hvorfor vil du både update og delete? du kan vel kun bruge rs_slet.delete - rs_slet.update så har du jo slettet den du forsøger at update?
Avatar billede zantiago Nybegynder
30. oktober 2003 - 18:08 #5
Hey igen - Har prøvet begge jeres forslag, den bliver ved med at melde fejl... Det er vildt frustrerende...
Avatar billede hiks Nybegynder
30. oktober 2003 - 18:54 #6
vi prøver lige noget helt andet...

<%
if Request.QueryString("PictureAction") = "Slet" then

  if Clng(request.querystring("id")) <> "" then

    dim id
    id = Clng(request.querystring("id"))

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open = "DRIVER={Micrsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dindb.mdb")
    SQL = "Select * From [pic] WHERE id = " & id & ";"
    Set rs = Server.CreateObject("ADODB.RecordSet")
    rs.Open sql, conn, 1, 3

    rs.Delete
    rs.Update

  else
    response.write "Intet id"
  end if
else
  response.write "Ingen aktion"
end if
%>

ovenstående selvfølgelig forudsat at du har en accessdatabase og at du har styr på hvor den ligger!

/hiks
Avatar billede zantiago Nybegynder
30. oktober 2003 - 19:02 #7
Nu har jeg fjernet alt script og i stedet skrevet: DELETE!!!!

Hvis jeg prøver følgende:
admin.asp?id=23&Action=billeder&PictureAction=delete
Giver den fejl!

Dette, uden id=24:
admin.asp?Action=billeder&PictureAction=delete
Skriver den: DELETE!!!
Avatar billede hiks Nybegynder
30. oktober 2003 - 19:16 #8
hvordan ser dit script ud nu?
Avatar billede zantiago Nybegynder
30. oktober 2003 - 19:19 #9
Nu er der intet script - Det har åbenbart ik noget med delete-scriptet at gøre, men med de Actions der er lavet - Ret mærkeligt at det ik virker når man indsætter: id=24 i url'en??
Avatar billede zantiago Nybegynder
30. oktober 2003 - 19:24 #10
Har løst det på en anden måde - Synes du skal have pointsene alligevel - Som tak for hjælpen :o)

Lavede en ny fil - Hvor jeg skrev:
------------------
Set RS_del = Server.CreateObject("ADODB.RecordSet")
RS_del.open "Select * From [pic] WHERE id = " & request("id") & "", Conn, 1, 3

RS_del.delete

Response.redirect("admin.asp?Action=billeder")
--------------------------
Avatar billede keysersoze Ekspert
30. oktober 2003 - 19:25 #11
så prøv at lav en "rigtig" delete;

SQL = DELETE * FROM [pic] WHERE id = " & request("id")
Conn.Execute(SQL)
Avatar billede hiks Nybegynder
30. oktober 2003 - 19:27 #12
det lyder fandme mærkeligt - men takker da for points!

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