Avatar billede bombur Nybegynder
02. december 2002 - 12:23 Der er 9 kommentarer og
2 løsninger

Abostrof og SQL i JScript

SQL bliver sur i skrallen hvis jeg fra en form prøver at skrive '

Hvordan omgår jeg det problem??

// Rune
Avatar billede erikjacobsen Ekspert
02. december 2002 - 12:36 #1
Hvis det er Access skal du replace hver forekomst af én ' med to ''-ere
Avatar billede bombur Nybegynder
02. december 2002 - 12:37 #2
Hvordan gør jeg det? Jeg er dum!

// Rune
Avatar billede humlebidk Nybegynder
02. december 2002 - 15:41 #3
hvad med at encode?

var dinvar=Response.Form("dinvar")
dinvar=Server.htmlencode("dinvar")

.. mener det er ca. sådan på den måde ændre du æøå og ' og " samt < og > og hvad der ellers måtte være ualmindeligt provo.

ellers er der som foreslået:

dinvar=dinvar.replace("'","&noget;") .. husk at smide det ind i en løkke hvor du tjekker for om der skulle være flere ' i strengen, da replace kun udskifter en gang. fx. while(dinvar.indexOf("'",0)>-1)
Avatar billede oasen Nybegynder
02. december 2002 - 20:43 #4
Server.htmlencode anvendes ved udskrivning. Ikke før en insert.
Det er kun ' du behøver at bekymre dig om.

Det klarer du således:

Streng = Replace(Streng, "'", "''")

Og den tager IKKE kun det første tegn.
Avatar billede erikjacobsen Ekspert
02. december 2002 - 20:56 #5
I Jscript ville jeg blot

  streng=streng,replace(/'/g,"''");
Avatar billede erikjacobsen Ekspert
02. december 2002 - 20:57 #6
suk:

  streng=streng.replace(/'/g,"''");
Avatar billede oasen Nybegynder
02. december 2002 - 20:58 #7
Nå, det er JavaScript - det skal jeg ikke gøre mig klog på ;)
Avatar billede humlebidk Nybegynder
02. december 2002 - 21:04 #8
replace er ikke nok uden en løkke =) I jscript er fordelen / ulempen at den kunne kører en gang. i vbs futter den bare gennem hele strengen og udskifter alt. i jscript er det ikke helt så automatisk. brug dette:

    while(teksten.indexOf("'",0)>-1) {
        teksten=teksten.replace("'","''");
    }
før du sender det teksten til databasen.
Avatar billede humlebidk Nybegynder
02. december 2002 - 21:04 #9
bruger det selv =)
Avatar billede humlebidk Nybegynder
02. december 2002 - 21:05 #10
og husk <%@ LANGUAGE = "JScript" %> i toppen. ellers virker intet *G*
Avatar billede erikjacobsen Ekspert
02. december 2002 - 21:31 #11
jo jo, med regulære udtryk behøver man den kun én gang
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