Avatar billede para7 Nybegynder
15. december 2005 - 12:32 Der er 9 kommentarer og
2 løsninger

Replace af gåseøjne

Jeg har en Access database, hvor jeg skriver noget ind i et felt. Det er jo også være muligt at skrive gåseøjne ind, men det kommer i karambulage med noget javascript.

Kan man lave noget replace på gåseøjne, så at " bliver til fx  to ´ (' forstyrrer også mine javascripts).
Avatar billede Slettet bruger
15. december 2005 - 12:35 #1
Jeps

Prøv med:

Replace(rs("AccessFelt"), """", """)

\Dan
Avatar billede thesurfer Nybegynder
15. december 2005 - 12:55 #2
Eller:
Replace(rs("AccessFelt"), """", "\""")

/theSurfer
Avatar billede para7 Nybegynder
15. december 2005 - 13:54 #3
Tak, men jeg kan ikke få noget af det til at du'. Hvorfor skriver i to gåseøjne?
Heller ikke ved indsættelsen i databasen:
strSQL = strSQL & " '" & replace(request.form("Navn"), """", "´´") & "' " & ","
Avatar billede thesurfer Nybegynder
15. december 2005 - 14:08 #4
<%

Det er meget dumt at indsætte værdierne direkte i SQL sætningen!
Det er den nemmeste måde, at få dit script til at gå ned..

bruge altid:
dim navn
navn = replace(request.form("navn"), "'", "''")

Ellers går crasher scriptet, hvis brugeren skriver: '

Efter replace af navn, kan du f.eks. bruge:

navn = replace(navn, """", "gaas3ojne");

strSQL = strSQL & " '" & navn & "' " & ","
...


Når du vil udskrive det til HTML igen, gør du f.eks sådan her:
navn = rs("navn")
navn = replace(navn, "gaas3ojne", "\""")
response.write navn

Hvis navn ikke skal udskrives til JavaScript, skal du i stedet bruge:

navn = rs("navn")
navn = replace(navn, "gaas3ojne", """"s)
response.write navn


Dobbelt gåseøjne opfattes som almindelige gåseøjse, og samtidigt skal de indkapsles i gåseøjne.
Det er derfor at der er så mange gåseøjne.

Hvis det er svært at holde styr på dem, kan du bruge Chr(34) i stedet for gåseøjne.

Eksempel: response.write "Jeg sagde " & Chr(34) & "hej" & Chr(34) & " i dag".
Resultatet er: Jeg sagde "hej" i dag

/theSurfer
Avatar billede Slettet bruger
15. december 2005 - 14:10 #5
Jeg skriver to gåseøjne fordi dette svarer til ét sæt gåseøjne i asp - sådan kort fortalt...

Men den sætning du skriver ovenfor forstår jeg INTET af...

Er det ikke et databaseudtræk vi har med at gøre?
- Og hvordan ser dine gåseøjne ud i databasen?

\Dan
Avatar billede para7 Nybegynder
15. december 2005 - 14:52 #6
I skal have tak. Jeg er nu blevet lidt klog på at håndtere de kritiske tegn. Jeg er kommet frem til det her som virker:
Indsætning i db (  "''","&#39;" ) dur ikke her):

replace(replace(request.form("Navn"),"""","&quot;"),"'","&#39;")


Udtræk fra db:

replace(replace(rs("Navn"),"&quot;",""""),"&#39;","'")


Læg lige svar fordeling af de mange point :))
Avatar billede thesurfer Nybegynder
15. december 2005 - 15:06 #7
Svar lagt :-)

/theSurfer
Avatar billede para7 Nybegynder
15. december 2005 - 18:12 #8
Og danielsen ?
Avatar billede Slettet bruger
15. december 2005 - 22:41 #9
Jamen her kommer der så et svar - hvis du mener jeg har fortjent pointene...

\Dan
Avatar billede para7 Nybegynder
16. december 2005 - 10:54 #10
Jo, jeg har lært en del af jer begge. God jul *<|;-)
Avatar billede thesurfer Nybegynder
16. december 2005 - 11:16 #11
Takker og i lige måde! :-)

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