Avatar billede cdc Novice
06. oktober 2003 - 13:37 Der er 22 kommentarer og
2 løsninger

Vedr. Update af database felter

Jeg har denne og skal have tilført efternavn password og brugernavn.

SQL="UPDATE adresseliste SET "
SQL = SQL & "Fornavn='" & Request.form("Fornavn") & "', "
SQL = SQL & "E-post-adresse='" & request.form("E-post-adresse") & "'"
SQL = SQL & " where AdresselisteID =" & session("EditID")
Set RS = Conn.Execute(SQL)
%>

Er i tvivl om de sidste karakterer efter fornavn: "', "
Hvis jeg skal lave en linie her med efternavn skal den så se således ud:
SQL = SQL & "Efternavn='" & Request.form("Efternavn") & "', " ??

Og betyder tegnene efter email: "'"  ( slut )

/cdc
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 13:42 #1
Din SQL-string ser god nok ud for mig:

SQL="UPDATE adresseliste SET "
SQL = SQL & "Fornavn='" & Request.form("Fornavn") & "', "
SQL = SQL & "Efternavn='" & Request.form("Efternavn") & "', "
SQL = SQL & "E-post-adresse='" & request.form("E-post-adresse") & "'"
SQL = SQL & " where AdresselisteID =" & session("EditID")
Avatar billede cdc Novice
06. oktober 2003 - 13:45 #2
Vil bare vide om det er sådan her den skal se ud, da jeg er i tvivl vedrørende de tegn der ligger sidst i linien.

SQL="UPDATE adresseliste SET "
SQL = SQL & "Fornavn='" & Request.form("Fornavn") & "', "
SQL = SQL & "Efternavn='" & Request.form("Efternavn") & "', "
SQL = SQL & "E-post-adresse='" & request.form("E-post-adresse") & "', "
SQL = SQL & "Brugernavn='" & Request.form("Brugernavn") & "', "
SQL = SQL & "Password='" & Request.form("Password") & "'"
SQL = SQL & " where AdresselisteID =" & session("EditID")
Avatar billede thb Nybegynder
06. oktober 2003 - 13:45 #3
en ting du mangler er en replace funktion på dine form felter..

altså de steder hvor der står request.form("etellerandet") der skal stå:

replace(request.form("etellerandet"),"'","''")

For ellers kan der godt komme fejl, hvis en person skriver: Jens'en

Thomas
Avatar billede cdc Novice
06. oktober 2003 - 13:53 #4
ok... men er det en der kan finde ud af hvorfor denne ikke virker, den vil ikke opdatere i DB. Skal nok smide lidt flere points i puljen, trode bare det var min string den var gal med:

http://hjem.get2net.dk/arntsen/eksperten/asp/update.txt hotellet æder ikke asp derfor kan i se koden ivis kilde

/cdc
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 14:25 #5
Hvilken fejl får du?
Avatar billede cdc Novice
06. oktober 2003 - 14:27 #6
den vil ikke opdatere, når man klikker gem
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 14:48 #7
...men får du en asp-fejl, eller sker der bare ingenting?
Avatar billede cdc Novice
06. oktober 2003 - 16:28 #8
det sker ingen ting, den står der bare, ligesom den gjorde inden jeg klikede på gem
Avatar billede cdc Novice
06. oktober 2003 - 19:12 #9
har ordnet sidste del af opgaven her selv, hvis det er nogle der vil have 15 points som jeg udlovede til første del, skal de smide et svar
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 20:02 #10
Jamen, der var jo ikke noget galt med din SQL-string - du havde ret i din antagelse - så jeg synes du skulle beholde din points :-)

Faktisk behøver du ikke mellemrum mellem de enketlte variable:
SQL = "UPDATE adresseliste SET "
SQL = SQL & "Fornavn='" & Request.form("Fornavn") & "',"
SQL = SQL & "Efternavn='" & Request.form("Efternavn") & "',"
SQL = SQL & "E-post-adresse='" & request.form("E-post-adresse") & "',"
SQL = SQL & "Brugernavn='" & Request.form("Brugernavn") & "',"
SQL = SQL & "Password='" & Request.form("Password") & "' "
SQL = SQL & "where AdresselisteID =" & session("EditID")

Hvad var forøvrigt probleme med opdateringsscriptet?
Avatar billede cdc Novice
06. oktober 2003 - 21:44 #11
hej igen ! var lidt for hurtig, troede den virkede, havde lige glemt en kode i min action, men nej. Så har jeg prøvet at skrotte session, da en fugl sang i mit øre at det kunne være hårt for serveren og byttede den ud med veriable, men den retter stadig ikke i db.

Fatter snart nada af det her....

ny kode: http://hjem.get2net.dk/arntsen/eksperten/asp/update_01.txt

/cdc
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 22:32 #12
Hov, mangler du ikke den linje der eksekverer din SQL streng (Set RS = Conn.Execute(SQL) i eksempel 21:44:03 )?
Avatar billede cdc Novice
06. oktober 2003 - 23:13 #13
jop, og den er også fikset og den virker nu, men en lille fejl til var der her:
SQL = SQL & " Adresselistewhere ID =" & request("id")
skal være:
SQL = SQL & "where AdresselisteID = " & request.form("Id")

så lidt rod i koden var der....

Nu har jeg bare det problem tilbage at den ikke vil æde denne:
SQL = SQL & "E-post-adresse='" & Request.form("E-post-adresse") & "', "

Det er en kunde DB jeg arbejder på og der er lavet mange scripts til den med E-post-adresse som ikke er optimalt, og skal igang nu med at lave om navnet på tabellen i DN til email, og dette også i alle scripts...
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 23:24 #14
Så den opdaterer fint på alle felter bortset fra E-post-adresse? Ikke fordi jeg tror det gør den store forskel, men har du prøvet at lave feltnavnet om til email, som du øjensynligt skal alligevel på et tidspunkt...
Avatar billede cdc Novice
06. oktober 2003 - 23:36 #15
ja, det er reddet sådan her:
SQL = SQL & "[E-post-adresse]='" & Request.form("email") & "', "
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 23:38 #16
he he, skulle lige til at foreslå det.
Problems solved...?
Avatar billede cdc Novice
06. oktober 2003 - 23:43 #17
JEPPS :O) Man lærer noget ny hver dag, smider du ikke lige et svar så er der 15 points på vej, for lidt guidning
Avatar billede cdc Novice
06. oktober 2003 - 23:44 #18
nu mangler jeg bare at lukke rundt omkring så skulle den være optimal
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 23:45 #19
Jamen, det vil jeg da så gøre... Go'nat!
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 23:47 #20
hov, husk lige thb's indlæg omkring replace. Jeg kan ikke lige gennemskue om der skulle være andre tegn (fx # og ") som kan give problemer, men det kan være thb, kan sige mere om det...?
Avatar billede cdc Novice
06. oktober 2003 - 23:50 #21
så må thb komme ud af hullerne, for den har jeg aldrig prøvet
Avatar billede lklingenberg Nybegynder
06. oktober 2003 - 23:57 #22
Det er bare et spørgmål om at forhindre 'brok' fra databasen. Da man bruger ' til at omkrandse tekst og datoer i en SQL string, skal man naturligvis tage højde for dette. Tag flg. eksempel:
UPDATE myTabel SET myVar='Jensen's Bøfhus'

Brugeren har indateret Jensen's Bøfhus og databasen vil tro at myVar ender efter Jensen, da det kommer et '. Resten (s Bøfhus') er volapyk for databasen og den vil returnere en fejl.
Avatar billede cdc Novice
06. oktober 2003 - 23:58 #23
nåh, den må jeg lige få kigget på, men jeg afslutter nu, så må thb giv en kommentar hvis han vil have lidt points :o) Men tak for hjælpen
Avatar billede lklingenberg Nybegynder
07. oktober 2003 - 00:00 #24
Du kan derfor med fordel fx skrive (hvis databasen udelukkende bruges til webben):
SQL = SQL & "Efternavn='" & Replace(Request.Form(Efternavn), "'", "'") & "',"
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