Avatar billede Slettet bruger
30. maj 2001 - 12:54 Der er 26 kommentarer og
1 løsning

Slette flere RS

Hey!

Jeg har en række links der trækkes ud fra en access-database. Ved hvert link er der en checkboks og ideen er, at jeg kan slette alle de links hvor jeg afkrydser checkboksen.

Hvordan gør man det?
Avatar billede sone Nybegynder
30. maj 2001 - 12:58 #1
Det nemmeste er nok at lave samme NAME på alle bokse. Hvis du så vælder flere, så bliver dine værdier adskilt med komma (1,3,8)
I ASP laver du en:

SQL=\".... WHERE id=\" & Replace(checkboks, \",\", \" OR id=\")
Avatar billede Slettet bruger
30. maj 2001 - 13:03 #2
sone >> kan jeg ikke bede dig om at forklare det lidt tydeligere. Jeg har nemlig kun prøvet at slette RS enkeltvis før, altså hvor formen sender ID videre:

deletelink = Request.QueryString(\"Id\")

Set RS = server.createobject (\"ADODB.recordset\")
SQL = \"SELECT * FROM Trades WHERE Id=\" & deletelink
RS.open SQL, ConnString, adOpenStatic, adLockOptimistic

RS.Delete
RS.close
RS = null
%>
Avatar billede sone Nybegynder
30. maj 2001 - 13:05 #3
Det nemmeste er at lave REN SQL:
SQL=\"DELETE FROM tabel WHERE id=3 OR id=6\"
Avatar billede Slettet bruger
30. maj 2001 - 13:07 #4
aha - men hvordan? ID\'en jo dynamisk - altså - tanken er jo at jeg bare vil afkrydse checkboksen på siden og så skal de links der er afkrydset slettes. Hvordan får jeg alle de ID trukket med over til \"SLET\"-siden?
Avatar billede sone Nybegynder
30. maj 2001 - 13:09 #5
SQL=\"DELETE FROM tabel WHERE id=\" & Replace(request(\"checkboks_navn\"), \",\", \" OR id=\")
Avatar billede sone Nybegynder
30. maj 2001 - 13:10 #6
Trukket over: Med en alm. FORM hvor alle NAME på alle dine checkboxse er det samme.
Avatar billede Slettet bruger
30. maj 2001 - 13:15 #7
Hmm.... Med:
<%
\'--- Delete links

Set RS = server.createobject (\"ADODB.recordset\")
SQL=\"DELETE FROM Links WHERE id=\" & Replace(request(\"Delete\"), \",\", \" OR id=\")
RS.open SQL, ConnString, adOpenStatic, adLockOptimistic

RS.Delete
RS.close
RS = null

response.write \"<meta http-equiv=\"\"refresh\"\" content=\"\"0.05;URL=main.asp\"\">\"

%>

får jeg følgende fejlmeddelelse:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/bms/deletelinks.asp, line 13

(Det er linien RS.open SQL, ConnString, adOpenStatic, adLockOptimistic)
Avatar billede sone Nybegynder
30. maj 2001 - 13:21 #8
ERSTAT:
RS.open SQL, ConnString, adOpenStatic, adLockOptimistic

RS.Delete
RS.close
RS = null

MED:
call ConnString(SQL)
Avatar billede Slettet bruger
30. maj 2001 - 13:24 #9
Det virker ikke:

Microsoft VBScript runtime error \'800a000d\'

Type mismatch: \'ConnString\'

/bms/deletelinks.asp, line 13
Avatar billede sone Nybegynder
30. maj 2001 - 13:26 #10
Hvordan ser din linie med Set ConnString ud?
Avatar billede Slettet bruger
30. maj 2001 - 13:27 #11
<%
path=Request.ServerVariables(\"APPL_PHYSICAL_PATH\")
ConnString= \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database.mdb\")
%>
Avatar billede sone Nybegynder
30. maj 2001 - 13:40 #12
Aha...

Du skal have en:
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"database.mdb\")

og så brug conn
Avatar billede Slettet bruger
30. maj 2001 - 13:51 #13
Bær over med mig :-)

<%
\'--- Delete links

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"database.mdb\")

SQL=\"DELETE FROM Links WHERE id=\" & Replace(request(\"Delete\"), \",\", \" OR id=\")

RS.Delete
RS.close
RS = null

response.write \"<meta http-equiv=\"\"refresh\"\" content=\"\"0.05;URL=main.asp\"\">\"

%>
Avatar billede sone Nybegynder
30. maj 2001 - 14:28 #14
ERSTAT:
RS.Delete
RS.close
RS = null

MED:
call Conn(SQL)
Avatar billede Slettet bruger
30. maj 2001 - 15:00 #15
Microsoft VBScript runtime error \'800a01c2\'

Wrong number of arguments or invalid property assignment: \'Conn\'

/bms/deletelinks.asp, line 16
Avatar billede sone Nybegynder
31. maj 2001 - 08:40 #16
Må jeg se de næsmeste linier frem til linie 16
Avatar billede Slettet bruger
04. juni 2001 - 14:14 #17
<%
\'--- Delete links

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"database.mdb\")

SQL=\"DELETE FROM Links WHERE id=\" & Replace(request(\"Delete\"), \",\", \" OR id=\")
call Conn(SQL)

response.write \"<meta http-equiv=\"\"refresh\"\" content=\"\"0.05;URL=main.asp\"\">\"

%>
Avatar billede Slettet bruger
31. juli 2001 - 08:12 #18
hvor blev du af!?
Avatar billede sone Nybegynder
31. juli 2001 - 08:34 #19
Her!
Sorry, det skal være:
call Conn.Execute(SQL)
Avatar billede Slettet bruger
01. august 2001 - 07:27 #20
Nej - får stadig fejl:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/bms/deletelinks.asp, line 16

Kode:
<%
\'--- Delete links

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"data.mdb\")

SQL=\"DELETE FROM Links WHERE id=\" & Replace(request(\"Delete\"), \",\", \" OR id=\")
Conn.Execute(SQL) 

response.write \"<meta http-equiv=\"\"refresh\"\" content=\"\"0.05;URL=main.asp\"\">\"

%>
Avatar billede Slettet bruger
01. august 2001 - 07:27 #21
Btw - linie 16 er:

Conn.Execute(SQL)
Avatar billede sone Nybegynder
01. august 2001 - 09:19 #22
Inden Conn.Execute-linien, så prøv at lav en:
response.write(SQL & \"<BR>\")

og vis mig det om udskrives i browseren.
Avatar billede Slettet bruger
01. august 2001 - 14:58 #23
DELETE FROM Links WHERE id=True OR id= True OR id= Delete

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/bms/deletelinks.asp, line 17
Avatar billede sone Nybegynder
01. august 2001 - 15:21 #24
Hvad har du sat af VALUE på dine checkbokse - det skal være ID\'erne fra databasen
Avatar billede Slettet bruger
01. august 2001 - 16:42 #25
checkboksen hedder nu:
<input type=\"checkbox\" name=\"Delete\" value=\"<%= Id %>\">

Fejlkode:
DELETE FROM Links WHERE id=491 OR id= Delete

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/bms/deletelinks.asp, line 17
Avatar billede sone Nybegynder
01. august 2001 - 17:14 #26
Et andet felt har åbenbart også værdien Delete
Avatar billede Slettet bruger
02. august 2001 - 09:32 #27
Jeg tror jeg har den nu!

Tak for din hjælp!
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