Avatar billede marie14 Nybegynder
10. august 2005 - 14:19 Der er 8 kommentarer og
1 løsning

Opdater brugeroplysninger

Når man indsætter oplysninger i database, bruger jeg denne
sætning:
strSQL = "Insert into personer (Username,Name,Password,Email)
values('" & Request.Form("Username") & "','" &
Request.Form("Name") & "','"& Request.Form("Password") & "','" &
Request.Form("Email") & "')"
Når de skal slette deres oplysninger indtaster de deres password og brugernavn og dette script sletter dem:
strSQL = "DELETE FROM bruger WHERE " &_
"password = '" & request.form("password") & "' " &_
" and name = '" & request.form("name") & "'"
Conn.Execute(strSQL)
Hvad skriver jeg, når jeg vil give brugeren mulighed for, at opdatere deres informationer?
Jeg har prøvet lidt forskelligt, men har ikke kunne få det til, at virke.
Mvh. Marie
Avatar billede ljm21 Praktikant
10. august 2005 - 14:30 #1
Fra: http://dev.mysql.com/doc/mysql/en/update.html

UPDATE persondata SET felt1='værdi1', felt2='værdi2'

Lars
Avatar billede marie14 Nybegynder
10. august 2005 - 14:38 #2
Det skal være f.eks
UPDATE persondata SET felt1='Name', felt2='Password'
Avatar billede marie14 Nybegynder
10. august 2005 - 14:44 #3
Eller hvad?
Avatar billede ljm21 Praktikant
10. august 2005 - 14:47 #4
Jeg glemte lige, at du skal have en WHERE på for at rette den rigtige post:

strSQL = "
UPDATE personer SET
Name='" & Request.Form("Name") & "',
Password='"& Request.Form("Password") & "',
Email='" & Request.Form("Email") & "'
WHERE Username = '" & Request.Form("Username") & "'";
Conn.Execute(strSQL);

Lars
Avatar billede marie14 Nybegynder
10. august 2005 - 15:14 #5
Jeg synes det ser rimmeligt ud, men jeg kan ikke få det til, at fungere.
Hvorfor skriver du f.eks sådan her: Conn.Execute(strSQL);
i stedet for sådan her: Conn.Execute(strSQL)?
Avatar billede ljm21 Praktikant
10. august 2005 - 15:31 #6
Jeg arbejder normalt i php, c eller lignende, og der afsluttes hver kommando med ;. Hvis det ikke er tilfældet i ASP skal du bare slette dem, og du skal nok også samle strSQL på en linie, sådan her:

strSQL = "UPDATE personer SET Name='" & Request.Form("Name") & "', Password='"& Request.Form("Password") & "', Email='" & Request.Form("Email") & "' WHERE Username = '" & Request.Form("Username") & "'"
Conn.Execute(strSQL)

Lars
Avatar billede marie14 Nybegynder
10. august 2005 - 15:48 #7
Det begynder at virke :-)
Det vil sige at WHERE Username = '" & Request.Form("Username")
er en oplysning de ikke kan ændre? Det er den der tjekker, om brugeren har ret til, at ændre resten?
Avatar billede ljm21 Praktikant
10. august 2005 - 19:13 #8
Ja det kan man godt sige. Det vil nok være en god ide, først at lave en kontrol af om brugernavn og password "passer sammen".

Lars
Avatar billede marie14 Nybegynder
10. august 2005 - 22:25 #9
Det fungerer. Tak for hjælpen. :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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