Avatar billede nederbasse Nybegynder
20. november 2001 - 09:54 Der er 18 kommentarer og
1 løsning

Slet i database

Jeg skal slette fra en database hvor jeg har en \"kode\" til, kode bliver sendt fra en form og der hvor koden passer bliver der slette i databasen.

Sådan ser det ud i øjeblikket: slet = \"DELETE * From info_backup WHERE kode = Request.Form (\"kode\")

Men det virker ikke nogen der ved hvorfor ?
Avatar billede bojohansen Nybegynder
20. november 2001 - 09:59 #1
DELETE From Tabel WHERE Feldt = Værdi

uden *
Avatar billede webbe Nybegynder
20. november 2001 - 10:00 #2
Du skal ændre det til:

slet = \"DELET FROM info_backup WHERE kode=\"&request.form(\"kode\")
Avatar billede webbe Nybegynder
20. november 2001 - 10:01 #3
Går iøvrigt ud fra, at feltet kode er et numerisk felt, ellers skal koden være:

slet = \"DELET FROM info_backup WHERE kode=\'\"&request.form(\"kode\")&\"\'\"
Avatar billede eagleeye Praktikant
20. november 2001 - 10:13 #4
slet = \"DELETE FROM info_backup WHERE kode = \" & Request.Form (\"kode\")

har du en connection.Execute(slet) ??  til at udføre SQL\'en.
Avatar billede nederbasse Nybegynder
20. november 2001 - 10:59 #5
det ser sådan ud nu:
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"driver={Microsoft Access Driver (*.mdb)};dbq=\" & Server.MapPath(\"bytte.mdb\")

Set RecSet = Server.CreateObject(\"ADODB.Recordset\")
slet = \"DELETE From info_backup WHERE kode =\" & Request.Form (\"kode\")

RecSet.Open slet, Conn, adOpenStatic, adLockOptimistic

RecSet.Update
RecSet.Close
Conn.Close

%>
Avatar billede webbe Nybegynder
20. november 2001 - 11:00 #6
Melder det stadig fejl????

Og i tilfælde af fejl, hvilken fejl??
Avatar billede eagleeye Praktikant
20. november 2001 - 11:02 #7
jeg ville lave koden sådan her. Du behøver ikke åbne et recordset for at slette i databasen. Du skal bare execute SQL strengen og det kan gøres gennem connectionen(con):

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"driver={Microsoft Access Driver (*.mdb)};dbq=\" & Server.MapPath(\"bytte.mdb\")

slet = \"DELETE From info_backup WHERE kode =\" & Request.Form (\"kode\")
Conn.Execute(slet)
Conn.Close

%>
Avatar billede webbe Nybegynder
20. november 2001 - 11:12 #8
eagleeye:

Netop - ville være klart det letteste!
Avatar billede nederbasse Nybegynder
20. november 2001 - 12:00 #9
der kommer en fejl i denne linie: Conn.Execute(slet)
Avatar billede webbe Nybegynder
20. november 2001 - 12:01 #10
Hvad er fejlen???
Avatar billede nederbasse Nybegynder
20. november 2001 - 12:09 #11
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/test/bytte/slet.asp, line 15


Avatar billede eagleeye Praktikant
20. november 2001 - 13:07 #12
er kode defineret som tekst eller tal i databasen?
Avatar billede nederbasse Nybegynder
20. november 2001 - 13:16 #13
kode er text i databasen, det er en kode som brugeren selv skriver for at kunne slette sit eget indlæg og kun det.
Avatar billede eagleeye Praktikant
20. november 2001 - 13:17 #14
så skal der \' omkring:
slet = \"DELETE From info_backup WHERE kode =\'\" & Request.Form (\"kode\") & \"\'\"
Avatar billede nederbasse Nybegynder
20. november 2001 - 13:33 #15
jeps nu virker det
det lader til at det er de \'\"\'\'\" jeg har problemer med hver gang, er der et sted på nettet hvor det er forklaret ?
Avatar billede eagleeye Praktikant
20. november 2001 - 13:39 #16
du kan prøve at kikke her:
http://www.w3schools.com/sql

Hvis feltet er defineret som text/notat skal der \' omkring
Hvis feltet er defineret som number/true-false skal der ikke \' omkring
eks:
\"UPDATE tabel SET tekstFelt=\'HEH\', talFelt=45 WHERE ID=2;\"
Avatar billede webbe Nybegynder
20. november 2001 - 18:13 #17
nederbasse:

Føler mig lidt snydt lige nu.....den sql du har brugt kom jeg faktisk med før eagleeye! ;0)

Se mit fortsatte svar kl. 10.01.30 - det fjerde indlæg i debatten.....hele 12 minutter før eagleeye!!! ;o)

Men pyt....kan være du kan hjælpe mig gratis en anden gang så! *GG*
Avatar billede nederbasse Nybegynder
21. november 2001 - 00:15 #18
Sorry
hvis jeg kan så sig til
Avatar billede webbe Nybegynder
21. november 2001 - 08:25 #19
nederbasse:

Det er bare iorden! ;0)
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