Avatar billede MrJ Praktikant
07. oktober 2004 - 11:42 Der er 5 kommentarer og
1 løsning

Indsæt tekst i database der indeholder '

Hej
Jeg skal indsætte noget tekst fra en string i en MSSQL database.

eks:
str = "hej med dig mor's dreng";

Der er problemer med ' når man skal indsætte det, så derfor har jeg brug for en funktion til at erstatte ' (enkel apostrof) med ''(to apostroffer) så det kan indsættes.

Hvordan gør man det i C++?
Det skal lige siges at jeg bruger Borland Builder's ANSISTRINGs og der kan man ikke buge find() til at finde et char i en string. Jeg var ellers ude i noget med at søge efter forekomster af ' og erstatte den med ''.

Er der nogen der har nogle gode ideer?

Mvh Effer
Avatar billede arne_v Ekspert
07. oktober 2004 - 11:46 #1
Den hurtige løsning er at erstatte ' med ''.

Funktionen er vel ikke særligt svær at lave.

Du laver en ny tom streng, en for løkke som henter alle
tegn fra den gamle streng, hvis tegn er en ' så appender du
'' til den nye streng ellers appender du bare tegnet til
den nye streng.
Avatar billede arne_v Ekspert
07. oktober 2004 - 11:47 #2
Den pæne løsning er at bruge Parameters.
Avatar billede arne_v Ekspert
07. oktober 2004 - 11:47 #3
Jeg kan godt lave den funktion med char array eller med STL string, men jeg
har ikke C++Builder og AnsiString.
Avatar billede arne_v Ekspert
07. oktober 2004 - 11:57 #4
Lidt googling siger at man kan:

s = StringReplace(s, "'", "''", TReplaceFlags() << rfReplaceAll);
Avatar billede MrJ Praktikant
07. oktober 2004 - 12:09 #5
StringReplace() virker.
Jeg har ellers søgt på google. men åbenbart ikke godt nok :)

Tusind tak

læg lige et svar, så du kan få dine fortjente point
Avatar billede arne_v Ekspert
07. oktober 2004 - 12:11 #6
svar
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