Avatar billede jmc Nybegynder
29. september 2002 - 21:04 Der er 7 kommentarer og
1 løsning

slette og oprette dynamisk aftal records

Jeg har fejlen:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'Execute'
/n_3.asp, line 32

min kode

SQL  = "DELETE FROM relation WHERE produkt_id = " & request("produkt_id")
set r = rs_produkt.Execute (SQL)

do until r.eof
    SQL  = "DELETE FROM relation WHERE produkt_id = " & r("produkt_id")
    response.Write("rs_produkt")
    'rs_produkt.Execute (SQL)
    r.movenext
loop

Response.Redirect("r_p.asp")
%>

Jeg skal slette alle steder hvor der står et bestemt tal i tabel 'relation' record 'produkt_id'

I samme omgang skal jeg oprette nyt antal record lig med antallet af records i tabellen child og skrive tallet CID i record CID i relationer

Jeg håber meget at en kan hjælpe mig her.
Avatar billede eagleeye Praktikant
29. september 2002 - 21:07 #1
Har du definere  rs_produkt  som et connection object og åbnet for connectionen til databaen??

Set rs_produkt = Server.CreateObject("ADODB.Connection")
rs_produkt.Open "Connection streng til database"
Avatar billede jmc Nybegynder
29. september 2002 - 21:16 #2
koden:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/t.asp" -->
<%

Set rs_produkt = Server.CreateObject("ADODB.Connection")
rs_produkt.Open "MM_bst_STRING"

SQL  = "DELETE FROM relation WHERE produkt_id = " & request("produkt_id")
set r = rs_produkter.Execute (SQL)

do until r.eof
    SQL  = "DELETE FROM relation WHERE produkt_id = " & r("produkt_id")
    response.Write("rs_produkt")
    'rs_produkt.Execute (SQL)
    r.movenext
loop

Response.Redirect("rediger_produkt.asp")
%>
<%=request.form("produkter_total")%>
<%
rs_produkter.Close()
Set rs_produkter = Nothing
%>



fejlen:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.
line 6
Avatar billede eagleeye Praktikant
29. september 2002 - 21:23 #3
Når det er en konstant som er angiver skal der ikke " omkring:

rs_produkt.Open MM_bst_STRING
Avatar billede eagleeye Praktikant
29. september 2002 - 21:24 #4
Den connection du åbner hedder:  rs_produkt

Den som bruges til at udføre SQL sæningen med hedder: rs_produkter

Det skal nok være det samme navn i begge linier.
Avatar billede jmc Nybegynder
29. september 2002 - 21:40 #5
Hum,
det giver samme fejl,
men jeg må vist erkende er jeg er ved at gå kold for i dag.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/t.asp" -->
<%

Set rs_produkter = Server.CreateObject("ADODB.Connection")
rs_produkter.Open "MM_bst_STRING"

SQL  = "DELETE FROM relation WHERE produkt_id = " & request("produkt_id")
set r = rs_produkter.Execute (SQL)

do until r.eof
    SQL  = "DELETE FROM relation WHERE produkt_id = " & r("produkt_id")
    response.Write("rs_produkt")
    'rs_produkter.Execute (SQL)
    r.movenext
loop

'Response.Redirect("rediger_produkt.asp")
%>
<%=request.form("produkter_total")%>
<%
rs_produkter.Close()
Set rs_produkter = Nothing
%>

kikker videre i morgen
Avatar billede eagleeye Praktikant
29. september 2002 - 21:53 #6
Hvis du sletter for en database med SQL får du ikke et recordset tilbase så denne linie:
set r = rs_produkter.Execute (SQL)

kan rettes til:
rs_produkter.Execute (SQL)


Og deremd kan du også undvære dit loop:
do until r.eof
    SQL  = "DELETE FROM relation WHERE produkt_id = " & r("produkt_id")
    response.Write("rs_produkt")
    'rs_produkter.Execute (SQL)
    r.movenext
loop
Avatar billede eagleeye Praktikant
29. september 2002 - 21:54 #7
Prøv også at rette denne linie:

rs_produkter.Open "MM_bst_STRING"

Til:
rs_produkter.Open MM_bst_STRING
Avatar billede jmc Nybegynder
30. september 2002 - 10:16 #8
ok den er på plads, jeg takker.

nu er det bare at skrive det nye antal records, der giver mig problemer:
'sletter
SQL_d  = "DELETE FROM relation WHERE produkt_id = " & request("produkt_id")
rs_produkter.Execute (SQL_d)

'skriver
SQL_a = "INSERT into relation ("produkt_id") values (request("produkt_id"))
rs_produkter.Execute (SQL_a)

SQL_a skal skrive antallet af records i tabellen child og skrive tallet CID i record CID i relationer. Request ("produkt_id") skal skrives alle stedet i produkt_id

Kan du hjælpe, jeg opretter et nye spørgsmål:

http://www.eksperten.dk/spm/264157
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