|
| Lektion 21 ASP Fra : laursen |
Dato : 31-05-05 10:23 |
|
Jeg har lavet de forskellige sider i asp ud fra jeres lektioner.
Jeg har ikke fundet ud af hvordan jeg omformer denne sætning:
strSQL = "Delete from personer where Id = 24"
Jeg vil gerne have, at brugeren skal indtaste sine oplysninger,
som de selv har oprettet og at de derved kan slette deres record.
Hvad skal jeg skrive istedet for Id=24"
M.v.h. Laursen
--
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
| |
Dj Uncas (31-05-2005)
| Kommentar Fra : Dj Uncas |
Dato : 31-05-05 13:08 |
|
"laursen" <mvlaursen@gnresound.dk> skrev i en meddelelse
news:429c2cea$0$18640$14726298@news.sunsite.dk...
> Jeg har lavet de forskellige sider i asp ud fra jeres lektioner.
> Jeg har ikke fundet ud af hvordan jeg omformer denne sætning:
> strSQL = "Delete from personer where Id = 24"
>
> Jeg vil gerne have, at brugeren skal indtaste sine oplysninger,
> som de selv har oprettet og at de derved kan slette deres record.
>
> Hvad skal jeg skrive istedet for Id=24"
Du skal skrive:
strSQL = "DELETE FROM persion WHERE Id ='" & Request.Form("id") & "'"
hvor Request.Form("id") henvender sig til en tekstboks, hvor brugerne
indtaster deres id.
Det er dog ikke den smarteste måde at gøre det på, da en bruger nemt kan
komme til at skrive forkert, eller med vilje indtaster andres data.
| |
laursen (31-05-2005)
| Kommentar Fra : laursen |
Dato : 31-05-05 15:33 |
|
Dj Uncas wrote in dk.edb.internet.webdesign.serverside.asp:
> "laursen" <mvlaursen@gnresound.dk> skrev i en meddelelse
> news:429c2cea$0$18640$14726298@news.sunsite.dk...
> > > > Jeg vil gerne have, at brugeren skal indtaste sine oplysninger,
> > som de selv har oprettet og at de derved kan slette deres record.
> >
> >
> Du skal skrive:
>
> strSQL = "DELETE FROM persion WHERE Id ='" & Request.Form("id") & "'"
>
> hvor Request.Form("id") henvender sig til en tekstboks, hvor brugerne
> indtaster deres id.
>
> Det er dog ikke den smarteste måde at gøre det på, da en bruger nemt kan
> komme til at skrive forkert, eller med vilje indtaster andres data.
>
> Tak. Det ser ud til, at virke.
Når jeg på samme måde vil oprette skal det vel være:
strSQL = "Insert into personer where Id ='" & Request.Form("id") & "'"
ikke?
--
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
| |
Dj Uncas (31-05-2005)
| Kommentar Fra : Dj Uncas |
Dato : 31-05-05 23:33 |
|
"laursen" <mvlaursen@gnresound.dk> skrev i en meddelelse
news:429c75aa$0$18643$14726298@news.sunsite.dk...
> Dj Uncas wrote in dk.edb.internet.webdesign.serverside.asp:
>> "laursen" <mvlaursen@gnresound.dk> skrev i en meddelelse
>> news:429c2cea$0$18640$14726298@news.sunsite.dk...
>> > > > Jeg vil gerne have, at brugeren skal indtaste sine oplysninger,
>> > som de selv har oprettet og at de derved kan slette deres record.
>> >
>> >
>> Du skal skrive:
>>
>> strSQL = "DELETE FROM persion WHERE Id ='" & Request.Form("id") & "'"
>>
>> hvor Request.Form("id") henvender sig til en tekstboks, hvor brugerne
>> indtaster deres id.
>>
>> Det er dog ikke den smarteste måde at gøre det på, da en bruger nemt kan
>> komme til at skrive forkert, eller med vilje indtaster andres data.
>>
>> Tak. Det ser ud til, at virke.
> Når jeg på samme måde vil oprette skal det vel være:
> strSQL = "Insert into personer where Id ='" & Request.Form("id") & "'"
> ikke?
Helt rigtigt
| |
laursen (02-06-2005)
| Kommentar Fra : laursen |
Dato : 02-06-05 09:17 |
|
Dj Uncas wrote in dk.edb.internet.webdesign.serverside.asp:
> "laursen" <mvlaursen@gnresound.dk> skrev i en meddelelse
> news:429c75aa$0$18643$14726298@news.sunsite.dk...
> > Dj Uncas wrote in dk.edb.internet.webdesign.serverside.asp:
> >> "laursen" <mvlaursen@gnresound.dk> skrev i en meddelelse
> >> news:429c2cea$0$18640$14726298@news.sunsite.dk...
> >> > > > Jeg vil gerne have, at brugeren skal indtaste sine oplysninger,
> >> > som de selv har oprettet og at de derved kan slette deres record.
> >> >
> >> >
> >> Du skal skrive:
> >>
> >> strSQL = "DELETE FROM persion WHERE Id ='" & Request.Form("id") & "'"
> >>
> >> hvor Request.Form("id") henvender sig til en tekstboks, hvor brugerne
> >> indtaster deres id.
> >>
> >>
> >>
> >> Tak. Det ser ud til, at virke.
> > Når jeg på samme måde vil oprette skal det vel være:
> > strSQL = "Insert into personer where Id ='" & Request.Form("id") & "'"
> > ikke?
>
> Helt rigtigt
>
> Jeg kan ikke få det til, at fungere hvis jeg vil have mere end et felt.
Kan jeg ikke skrive sådan her?:
strSQL = "DELETE FROM personer WHERE Fornavn,Efternavn='" &
Request.Form("Fornavn") & "','" & Request.Form("Efternavn") & "'"
--
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
| |
Tomasz Otap (02-06-2005)
| Kommentar Fra : Tomasz Otap |
Dato : 02-06-05 09:33 |
|
laursen proclaimed as follows:
>
> Kan jeg ikke skrive sådan her?:
> strSQL = "DELETE FROM personer WHERE Fornavn,Efternavn='" &
> Request.Form("Fornavn") & "','" & Request.Form("Efternavn") & "'"
>
Tæt på - det hedder:
strSQL = "DELETE FROM personer WHERE " &_
"fornavn = '" & request.form("fornavn") & "' " &_
" and efternavn = '" & request.form("efternavn") & "'"
Eller, hvor apostroffer escapes:
strSQL = "DELETE FROM personer WHERE " &_
"fornavn = '" & replace(request.form("fornavn"),"'","''") & "' " &_
"AND efternavn = '" & replace(request.form("efternavn"),"'","''") & "'"
Det er en god idé at escape evt. apostroffer i dine brugerdata: i SQL
gøres det ved at erstatte dem med dobbelt apostroff. Apostroffer
markerer afslutning på en tekststreng, derfor kan en uventet apostrof i
en tekststreng give fejl og muligheder for at hacke systemet.
t
| |
laursen (02-06-2005)
| Kommentar Fra : laursen |
Dato : 02-06-05 10:09 |
|
Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:
> laursen proclaimed as follows:
> >
> > Kan jeg ikke skrive sådan her?:
> > strSQL = "DELETE FROM personer WHERE Fornavn,Efternavn='" &
> > Request.Form("Fornavn") & "','" & Request.Form("Efternavn") & "'"
> >
>
> Tæt på - det hedder:
>
> strSQL = "DELETE FROM personer WHERE " &_
> "fornavn = '" & request.form("fornavn") & "' " &_
> " and efternavn = '" & request.form("efternavn") & "'"
>
> Eller, hvor apostroffer escapes:
>
> strSQL = "DELETE FROM personer WHERE " &_
> "fornavn = '" & replace(request.form("fornavn"),"'","''") & "' " &_
> "AND efternavn = '" & replace(request.form("efternavn"),"'","''") & "'"
>
> Det er en god idé at escape evt. apostroffer i dine brugerdata: i SQL
> gøres det ved at erstatte dem med dobbelt apostroff. Apostroffer
> markerer afslutning på en tekststreng, derfor kan en uventet apostrof i
> en tekststreng give fejl og muligheder for at hacke systemet.
>
> t
Det virker! Tak for det. Jeg har dog stadig svært ved, at overskue hvordan
det skal se ud, hvis jeg f.eks vil have 4 felter. Det fungerer hvis jeg
copy/paster dit script 2 gange, men det er jo ikke den "rigtige" måde, at
gøre det på.
--
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-06-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 02-06-05 11:39 |
|
laursen skrev:
> Det virker! Tak for det. Jeg har dog stadig svært ved, at overskue hvordan
> det skal se ud, hvis jeg f.eks vil have 4 felter. Det fungerer hvis jeg
> copy/paster dit script 2 gange, men det er jo ikke den "rigtige" måde, at
> gøre det på.
Kriterier i en sql-sætning kan sættes sammen med de booleske operatorer
OR og AND. Man kan sætte lige så mange kriterier sammen som man har lyst
til, men hvis man kombinerer AND og OR er det en god ide at bruge
parenteser så man er sikker på hvordan der grupperes. AND betyder "og"
og "OR" betyder "eller".
Eksempler:
SELECT * FROM personer WHERE fornavn = 'Peter' AND efternavn = 'Hansen'
SELECT * FROM personer WHERE fornavn = 'Peter' OR fornavn = 'Søren'
SELECT * FROM personer
WHERE (fornavn = 'Peter' AND efternavn = 'Hansen')
OR (fornavn = 'Søren' AND efternavn = 'Petersen')
SELECT * FROM personer
WHERE (fornavn = 'Søren')
AND (efternavn = 'Hansen' OR efternavn = 'Petersen')
Sig til hvis du vil have forklaret hvordan eksemplerne skal læses.
Hvis man bruger Access (eller MSSQL), kan man i øvrigt med fordel
benytte operatoren IN i stedet for en række af OR-kriterier.
Følgende to sql-sætninger betyder det samme (i databaser der forstår
IN-operatoren):
SELECT * FROM personer WHERE id = 2 OR id = 3 OR id = 7 OR id = 42
SELECT * FROM personer WHERE id IN (2,3,7,42)
--
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
| |
|
|