|
| Access konvertering af quotes Fra : Kasper Johansen |
Dato : 23-10-06 01:21 |
|
Hej gruppe.
Jeg sidder og laver et program, som der kan smide indhold fra en
MySQL-database over i en Access-database (og omvendt).
Jeg konstruerer derfor nogle INSERT-statements, som jeg kører på
Access-databasen over ODBC. Noget lignende:
INSERT INTO (id, value) VALUES (2, 'Hejsa')
Hvis der indgår en "'" i value, så ville jeg normalt (i de databaser,
som jeg er bekendt med) replace "'" med "\'", så mit statement ser
således ud:
INSERT INTO (id, value) VALUES (2, '\'')
Den vil Access desværre ikke godtage (den vil gerne køre mit statement,
hvis jeg helt fjerner "'" fra value).
Hvad skal jeg udskifte mit quot med, for at det virker efter hensigten?
--
Med venlig hilsen
Kasper Johansen
| |
Kasper Johansen (23-10-2006)
| Kommentar Fra : Kasper Johansen |
Dato : 23-10-06 01:53 |
|
Kasper Johansen skrev:
> Hvis der indgår en "'" i value, så ville jeg normalt (i de databaser,
> som jeg er bekendt med) replace "'" med "\'", så mit statement ser
> således ud:
>
> Hvad skal jeg udskifte mit quot med, for at det virker efter hensigten?
Man skal erstatte ' med ''. Desuden skal \r erstattes med noget ala:
' & CHR(10) & '
og \n med
' & CHR(13) & '
Man skal desuden passe på, at ens udtryk ikke bliver for lange, så inden
man køre en replace på de enkelte \r og \n, så skal med nok køre dem
samlede, så det bliver noget ala:
' & CHR(10) & CHR(13) & '
og ikke:
' & CHR(10) & '' & CHR(13) & '
Man får meget let en fejl, som der beskriver "Udtrykket er for
komplekst", hvis man indsætter store strenge ad gangen.
Hvis nogen ved, hvordan man gør det bedre (for at undgå fejlen, med at
det bliver for "komplekst" så skriv endelig).
--
Med venlig hilsen
Kasper Johansen
| |
|
|