/ 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
slette data i en mdb
Fra : Thomas


Dato : 01-07-05 17:57

davs, (igen :) )

Jeg vil utrolig gerne kunne slette data i databasen fra min side,
men jeg kan virkelig ikke forstå hvad der er galt.

Form:
<form action="sletnyhed.asp" method="post">
<input type="text" name="id" value="id">
<input type="submit" value="slet" name="slet">


kode på sletnyhed.asp:
strSQL = "DELETE FROM nyheder WHERE Id ='" & Request.Form("id") &
"'"
Conn.Execute(strSQL)


Mvh
Thomas

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

 
 
Martin Jørgensen (01-07-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 01-07-05 18:00

Thomas wrote in dk.edb.internet.webdesign.serverside.asp:
> davs, (igen :) )
>
> Jeg vil utrolig gerne kunne slette data i databasen fra min side,
> men jeg kan virkelig ikke forstå hvad der er galt.
>
> Form:
> <form action="sletnyhed.asp" method="post">
> <input type="text" name="id" value="id">
> <input type="submit" value="slet" name="slet">
>
>
> kode på sletnyhed.asp:
> strSQL = "DELETE FROM nyheder WHERE Id ='" & Request.Form("id") &
> "'"
> Conn.Execute(strSQL)
>
>
> Mvh
> Thomas
>

Hej Thomas

Får du en fejl?

Mvh
Martin Jørgensen

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

Casper Bang (01-07-2005)
Kommentar
Fra : Casper Bang


Dato : 01-07-05 18:49

> <form action="sletnyhed.asp" method="post">
> <input type="text" name="id" value="id">
> <input type="submit" value="slet" name="slet">
>
> kode på sletnyhed.asp:
> strSQL = "DELETE FROM nyheder WHERE Id ='" & Request.Form("id") &
> "'"
> Conn.Execute(strSQL)

Du har ikke forklaret hvad dit problem er, og som det ser ud dér burde det
virke (altså hvis Conn er komblet til 'basen).

Men for sjov skyld, så tag en backup af din database, og gør følgende på en
test-server (vigtigt: læs resten af min post før du begynder):
1) Indtast i dit ID-felt præcist:
' OR 'a'='a
2) Klik submit
3) Når du så har set at ovenstående sletter HELE din tabel (eller nærmere,
alle nyheder i den), bruger du google og finder noget om "SQL injections" :)

Din SQL linie bør for en sikkerheds skyld være:

strSQL = "DELETE FROM nyheder WHERE Id ='" & replace(Request.Form("id"),
"'", "") &"'"

Men som sagt, skriv hvilken fejl du får og du kan blive hjulpet med den del
:)



Jens Gyldenkærne Cla~ (01-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-07-05 19:15

Thomas skrev:

> Jeg vil utrolig gerne kunne slette data i databasen fra min side,
> men jeg kan virkelig ikke forstå hvad der er galt.

Hvilken fejl får du? Du giver ikke ret meget information om dit
problem - læs gerne siden her: <http://asp-faq.dk/article/?id=41>.

> strSQL = "DELETE FROM nyheder WHERE Id ='" & Request.Form("id") &
> "'"

Hvis dit id-felt er et tal-felt, skal der ikke anførselstegn om
værdien. Fjern de to (sql-)anførselstegn fra sql-variablen.

NB: Jeg kan fuldt ud tilslutte mig Casper Bangs hint om dine
problemer med sql-injections. Jeg vil foreslå dig også at læse
siden her: <http://asp-faq.dk/article/?id=95>.
--
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

Thomas (01-07-2005)
Kommentar
Fra : Thomas


Dato : 01-07-05 19:32

Fik ingen fejl, kunne bare ikke komme ind på siden når jeg trykkede
submit...


> Hvis dit id-felt er et tal-felt, skal der ikke anførselstegn om
> værdien. Fjern de to (sql-)anførselstegn fra sql-variablen.

Tusinde tak! det var det jeg havde gjort forkert
endnu engang tusinde tak for hjælpen, og de mange muligheder i gav mig
:D

Mvh
Thomas

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

Jens Gyldenkærne Cla~ (01-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-07-05 19:45

Thomas skrev:

> Fik ingen fejl, kunne bare ikke komme ind på siden når jeg
> trykkede submit...

Mon ikke det alligevel også er en fejl. Se nærmere efter hvad din
browser skriver næste gang.

Muligvis er den rigtige fejlmeddelelse skjult af en (tåbelig)
browserindstilling - se hvordan du ændrer det her:
<http://asp-faq.dk/article/?id=45>
--
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

Thomas (01-07-2005)
Kommentar
Fra : Thomas


Dato : 01-07-05 20:35

jamen det vil jeg så prøve :)

Men! (Jeg roder mig ud i mere og mere her) jeg ahr rodet lidt videre
med noget med ændring af baggrundsfarve osv osv, og besluttet mig
for at prøve at køre det igennem en database - det virker! men ikke
helt som det skal. Det virker ikke igennem formen med siden
tilfoejbaggrund.asp, men hvis jeg submitter en farve, og derefter
går firekte ind på document2.asp er farven rigtig, men jeg får en
fejlmeddelselse.

Fejl:
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'write'

/asp/document2.asp, line 14


////* Så mit spørgsmål lyder faktisk på hvad jeg kan skrive istedet
for Response.write, og ellers hvis i finder flere fejl hehe


kode til tilfoejbaggrund.asp
Dim baggrundsfarve
baggrundsfarve = Request.form("farve")
strSQL = "Insert into baggrundsfarve ( farve ) values ('" &
baggrundsfarve & "')"

Conn.Execute(strSQL)


Kode til document2.asp
<body bgcolor="<%StrSQL = "Select * FROM baggrundsfarve"
Set rs = Conn.Execute(StrSQL)
Do
Response.write '" & rs("farve") & "'
rs.Movenext
Loop while not rs.EOF%>">


Mvh
Thomas

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

Jens Gyldenkærne Cla~ (02-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-07-05 09:03

Thomas skrev:

> jamen det vil jeg så prøve :)

Hvad vil du prøve? Det er svært at se hvad du svarer på når du ikke
citerer noget. Læs gerne <http://html.dk/nyhedsgrupper/usenet.asp>
eller linket i min signatur.


> Fejl:
> Microsoft VBScript runtime error '800a01c2'
>
> Wrong number of arguments or invalid property assignment:
> 'write'
>
> /asp/document2.asp, line 14

Godt - nu har du fået fejlmeddelelsen med i dit indlæg. Den
fortæller dig at der er noget galt på linje 14. Du har bare glemt
at angive (her i indlægget) hvilken linje der er nr. 14 - du kan se
det i din fil, men vi der læser dine indlæg kan ikke se denne
oplysning. Se evt. <http://asp-faq.dk/article/?id=41>.


> Response.write '" & rs("farve") & "'

Jeg gætter på at det er ovenstående linje der fejler. Du har rod i
dine anførselstegn herover. I asp/vbscript er tegnet " (dobbelt
anførselstegn) det der bruges til at markere tekststrenge, mens
tegnet ' (apostrof eller enkelt anførselstegn) bruges til at angive
kommentarer. Inde i en streng kan man uden problemer anvende
apostroffer (fx "Peter O'Toole"), mens dobbelte anførselstegn skal
escapes (fx "Et ""-tegn" ~ der udskrevet bliver til »Et "-tegn«)

Når du skriver:

   Response.write 'FOO....

- betyder det præcis det samme som hvis du bare havde skrevet:

   Response.write

- fordi apostroffen markerer starten af en kommentar der varer
resten af linjen ud. Det gælder uanset hvad der kommer efter
apostroffen.

En gyldig udgave, der udskriver feltnavnet med apostroffer omkring,
kan se sådan ud:

   Response.write "'" & rs("farve") & "'"


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

Martin Jørgensen (01-07-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 01-07-05 19:18

Thomas wrote in dk.edb.internet.webdesign.serverside.asp:
> davs, (igen :) )
>
> Jeg vil utrolig gerne kunne slette data i databasen fra min side,
> men jeg kan virkelig ikke forstå hvad der er galt.
>
> Form:
> <form action="sletnyhed.asp" method="post">
> <input type="text" name="id" value="id">
> <input type="submit" value="slet" name="slet">
>
>
> kode på sletnyhed.asp:
> strSQL = "DELETE FROM nyheder WHERE Id ='" & Request.Form("id") &
> "'"
> Conn.Execute(strSQL)
>
>
> Mvh
> Thomas

Hej Thomas

Hvis din fejl er at din database skal bruge en opdatebar database,
så kan du se løsningen her:
Når at du højre klikker på din mappe eller fil og vælger
"egenskaber", så skulle der gerne være et faneblad ved navn
"Sikkerhed", hvis ikke:
http://www.darkskies.dk/rettigheder.html

Filmen er lavet til en dansk windows.

Hvis du har fanebladet "Sikkerhed", så kan du klikke på "Avanceret",
der kan du nedarve rettighederne, f.eks. der skal være flueben i den
første box, nede i bunden, med teksten: "Arv de tilladelsesposter,
der gælder for underobjekter, fra det overordnede objekt. Medtag
disse sammen med de poster, der er udtrykkeligt defineret her."

Håber at du kan bruge dette her.


Mvh
Martin Jørgensen

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

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste