/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problemmer med at slette data fra database~
Fra : Hjalte Ipsen


Dato : 05-05-03 08:38

Hej allesammen.

Jeg forsøger at slette en post i en database med en SQL sætning.
Den post der skal slettes vælges fra en anden side og sendes til
"slette siden" ved hjælp af en Querystring. Selve
slettefunktionen virker perfekt når jeg bare indtaster et tal
dirrekte i koden men når jeg prøver at slette posten ud fra
værdien i strSlet går det galt.
Jeg kan også udskrive indholdet af strSlet når jeg ikke køre SQL
sætningen.

Koden ser ud som følger:

%

Dim strSlet

strSlet = Request.Querystring("ID")

Response.write strSlet

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("medlem.mdb")
Conn.Open DSN

' SQL sletter record
strSQL = "Delete from medlem where Id = strSlet"
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

Er der nogen der kan hjælpe?

VH.
Hjalte Ipsen.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
stk (05-05-2003)
Kommentar
Fra : stk


Dato : 05-05-03 10:18

> strSQL = "Delete from medlem where Id = strSlet"
Denne linie sætter Id lig teksten strSlet. For at bruge værden af
variablen strSlet skal den uden for gnyfferne:
strSQL = "Delete from medlem where Id = " & strSlet

Hvis strSlet kan indeholde tekst, skal den i gnyffer:
strSQL = "Delete from medlem where Id = '" & strSlet & "'"

mvh
Stefan

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Jens Gyldenkærne Cla~ (05-05-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-05-03 10:31

Hjalte Ipsen skrev:

> Jeg forsøger at slette en post i en database med en SQL sætning.

> Jeg kan også udskrive indholdet af strSlet når jeg ikke køre SQL
> sætningen.

Prøv at udskrive din strSQL i stedet - så vil fejlen formentlig
fremstå tydeligt.

> ' SQL sletter record
> strSQL = "Delete from medlem where Id = strSlet"

strSlet står indenfor anførselstegnene - dermed bliver strSQL
altid:

"DELETE FROM medlem WHERE ID = strSlet"

- uanset indholdet i strSlet.

Du skal hæfte *værdien* af strSlet på din sqlsætning i stedet:

strSQL = "Delete from medlem where Id = " & strSlet

Husk at validere dit input - specielt med en querystring-variabel
vil det være ganske nemt at levere en værdi der sletter samtlige
poster i databasen hvis du ikke validerer.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408834
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste