Avatar billede dcasso Nybegynder
07. august 2003 - 20:05 Der er 14 kommentarer og
1 løsning

' går mig på nerverne

Hejsa

Et umiddelbart yderst simpelt spm, og som jeg selv kan svaret på, normalt, men!

Jeg skal aflæse et felt fra en form, fjere ' og " og bruge det i en insert statement. Lige ud af landevejen med et par replace's.

Eks. har jeg her:
Fornavnrettet = replace(request.form("Fornavn"),"'","*")
Fornavnrettet = replace(Fornavnrettet,"""","*")
Efternavnrettet = replace(request.form("Efternavn"),"""","*")
Efternavnrettet = replace(Efternavnrettet,"'","*")

SQLstmt = "INSERT INTO tbl_Bestillinger (Fornavn,Efternavn"
SQLstmt2 = ") VALUES ('" & Fornavnrettet & "','" & Efternavnrettet & "'"

Jeg arbejder dernæst videre med sql-sætningen, derfor er den ikke afsluttet.

Mit problem: Hvis jeg laver et fornavn, med et ' i, så fjeres denne ganske fint MEN når sql sætningen udføres får jeg ved følgende sætning, denne fejl:

INSERT INTO tbl_Bestillinger (Fornavn,Efternavn,Fest) VALUES ('dennis*','sfddsjhfk',1)
Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near 'sfddsjhfk'.

jeg fejl om at Line 1: Incorrect syntax near 'sfddsjhfk'.

Dette passer med at skyldes det indsatte ' fra fornavnsfeltet, men hvorfor. Jeg kan simpelthen ikke gennemskue det.

Som det ses bruger jeg stjerner pt, men uanset om jeg skriver quote to gange i stedet, skriver intet eller som sagt en stjerne. Så virker det ikke.

Håber en skarp hjerne kan hjælpe, jeg gør sikkert noget elementært forkert, kan bare ikke selv se det.
Avatar billede mm12010 Nybegynder
07. august 2003 - 20:19 #1
prøv det her:

Fornavnrettet = replace(request.form("Fornavn"),"'","'")
Fornavnrettet = replace(Fornavnrettet,"""",""")
Efternavnrettet = replace(request.form("Efternavn"),"""",""")
Efternavnrettet = replace(Efternavnrettet,"'","'")
Avatar billede jonbdk Nybegynder
07. august 2003 - 20:22 #2
Jeg ved ikke om det hjælper, men du kan bruge chr(34) i stedet for " og der er også for ' men kan ikke lige huske den... men den kan sikkert findes her: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vafctchr.asp
Avatar billede dcasso Nybegynder
07. august 2003 - 20:25 #3
mm12010, dette virkede ikke.

Synes det er yderst mystisk, især fordi de ikke virker når jeg bare beder om ikke at få indsat noget som helst.

Det skal bruges overfor en MsSQL server, hvis det kan give et hint til nogle.
Avatar billede mm12010 Nybegynder
07. august 2003 - 20:27 #4
Fornavnrettet = Server.HTMLEncode(request.form("Fornavn"))
Fornavnrettet = replace(Fornavnrettet,"'","'")
Fornavnrettet = replace(Fornavnrettet,"""",""")
Efternavnrettet = Server.HTMLEncode(request.form("Efternavn"))
Efternavnrettet = replace(Efternavnrettet,"""",""")
Efternavnrettet = replace(Efternavnrettet,"'","'")
Avatar billede erikjacobsen Ekspert
07. august 2003 - 20:32 #5
Det du skriver i dit spørgsmål, dcasso, kan ikke rigtigt passe. Jeg tror der er
noget andet galt, for der kan ikke komme den fejl med den sql-sætning .....
så vidt jeg kan se.... Har du mere af din oprindelige kode du kan vise os.
Avatar billede dcasso Nybegynder
07. august 2003 - 20:40 #6
Du har så ganske evigt ret, og har nu fundet fejlen (da jeg bruger mange function har jeg fokuseret på den forkerte af dem).

Så kan jeg jo lære det, har kostet mig min. 3 timer.

Men hvis i tre gider sætte ind et svar så kan i dele pointene.

Sorry :)
Avatar billede mm12010 Nybegynder
07. august 2003 - 20:41 #7
:o)
Avatar billede dcasso Nybegynder
07. august 2003 - 20:42 #8
Man bliver fandme træt af sig selv, spildt tiden fra kl. 18 :)
Avatar billede erikjacobsen Ekspert
07. august 2003 - 20:49 #9
Ingen point til mig, tak.
Avatar billede dcasso Nybegynder
07. august 2003 - 20:51 #10
Ok, erik så ryger de til mm :) Synes bare ikke jeg vil trække point tilbage
Avatar billede dcasso Nybegynder
07. august 2003 - 20:51 #11
Ok, erik så ryger de til mm :) Synes bare ikke jeg vil trække point tilbage
Avatar billede erikjacobsen Ekspert
07. august 2003 - 20:56 #12
Men iøvrigt skal du da ikke fjerne '-ere. Det er da brugerfjendsk. Erstat en ' med to,
og mssql skulle være stillet tilfreds.
Avatar billede dcasso Nybegynder
07. august 2003 - 20:58 #13
Det er også planen, blev bare så træt af det, at jeg gik over til at slette det helt.
Avatar billede erikjacobsen Ekspert
07. august 2003 - 21:23 #14
Men nu kan du vel. Det er vel surt hvis man hedder O'Rourke og bor Chr X's vej
Avatar billede dcasso Nybegynder
07. august 2003 - 22:42 #15
Selvf. :) Løsningerne skal jo laves ordentligt.

Men når man får fejl, prøver man jo at korte det ned til et minimum.:)
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

IT-JOB

Zealand Business College

Faglærer til Data/IT på ZBC i Ringsted

Forsvarets Efterretningstjeneste

Network engineer - Routing & Switching

Erhvervshus Hovedstaden S/I

Erfaren IT- og AI-specialist

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Kryptokustode til opbygning af Forsvarets nye IT-platform