>Salve in un astriga comando:
>"INSERT INTO versatotxt (PROGRESSIVO) VALUES (" + a + ")"
>
>mi capita che a possa essere uguale ad una stringa intera come
>a="pippo"
>oppure
>ad una stringa spezzata comme:
>a="'AVALLON BEIGE CLAIR'"
>
>a questo punto mi arriva questo messaggio di errore:
>Errore di sintassi (operatore mancante) nell'espressione della
>query 'AVALLON BEIGE CLAIR'.
>
>come posso fare per risolvere?
Ciao pieroalampi,
Indipendentemente al DBMS al quale ti connetti, lo standard ANSI SQL prevede che le stringhe siano delimitate da una coppia di singoli apici (').
Es:
INSERT INTO MiaTabella
VALUES('Inserisci questa stringa');
Nel caso in cui il valore contenga a sua volta un apice ('), occorrerà duplicarlo altrimenti sarà sollevata una eccezione simile a quella che hai postato:
INSERT INTO MiaTabella
VALUES('Inserisci questa stringa con l''apostrofo');
L'uso di Query (in Access) o di Stored Procedure (negli altri DBMS) parametriche tra gli innumerevoli vantaggi (sicurezza, prestazioni, ecc.) permettono di ovviare ad una eventuale duplicazione manuale degli apici.
A titolo di esempio prova a leggere questo thread:
http://groups.google.it/group/microsoft.public.it.sql/browse_thread/thread/8cffa517474e4df/
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org