[Python] delimitatori testo in sqlite

2010-11-05 Per discussione Massimo Capanni
Buongiorno,

forse e' una sciocchezza ma faccio lo stesso questa domanda:
sto cercando di implementare un semplice database con Sqlite,
e sto facendo alcune prove a mano direttamente con Sqlite stesso.

Il database di prova contiene una tabella del genere:

pippo (a integer primary key autoincrement, b text, c text);

Cerco di inserire del testo a caso da qualche testo ma, se
nella copia sono presenti doppi apici o singoli apici Sqlite
mi comunica che non è correttamente identato. Secondo
voi dovrei implementare un controllo dell'identazione degli
apici prima dell'inserimento, con una funzione Python,
oppure esiste una funzione che automaticamente risolve
questo problema durante l'input?

a presto,

massimo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Vittorio Zuccala'
Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo
molto veloce!
Ad ogni modo...
Puoi fornirci il codice che utilizzi?
Personalmente non ho trovato questo problema nell'inserimento di dati.
Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db
sqlite: magari può esserti utile.
Occhio: magari devi fare un decode come ti segnalo nel codice

csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '')

campi=string.split(cnf['tabelle'][i],\n)
for j in range(len(campi)):
campo = re.search('(.+).+', campi[j])
if campo:
campi[j]=campo.group(1)
campi.pop(0)  # Elimina il nome della tabella dai campi
campi.pop(-1)  # Elimina la parentesi finale dai campi


print Riempio la tabella %s % i
k=0
p=1
inserisci=INSERT INTO %s VALUES( % i
for row in csv_reader:
l=len(row)
for m in range(l):
row[m] = row[m].decode('latin1')

if k == 0:# Controlla che i campi della tabella siano uguali
a quelli del CSV!!!
for c in range(len(row)):
if row[c] == campi[c]:
inserisci = %s %s % (inserisci,?, )
else:
print DEVI CAMBIARE LA DEFINIZIONE IN
CONFIGURAZIONE DI CREAZIONE TABELLA %s % row[c]
else:
dimensione=len(inserisci)-2
inserisci = inserisci[0:dimensione] # Inserendo ?, 
cancello l'ultima occorrenza di , 
inserisci = %s %s % (inserisci, ))
cur.execute(inserisci,row)
if k==300:
print Ho finito di aggiungere %d record % (k*p)
p=p+1
k=1
k=k+1

con.commit()



Il giorno 05 novembre 2010 09:33, Massimo Capanni massimo.capa...@gmail.com
 ha scritto:

 Buongiorno,

 forse e' una sciocchezza ma faccio lo stesso questa domanda:
 sto cercando di implementare un semplice database con Sqlite,
 e sto facendo alcune prove a mano direttamente con Sqlite stesso.

 Il database di prova contiene una tabella del genere:

 pippo (a integer primary key autoincrement, b text, c text);

 Cerco di inserire del testo a caso da qualche testo ma, se
 nella copia sono presenti doppi apici o singoli apici Sqlite
 mi comunica che non è correttamente identato. Secondo
 voi dovrei implementare un controllo dell'identazione degli
 apici prima dell'inserimento, con una funzione Python,
 oppure esiste una funzione che automaticamente risolve
 questo problema durante l'input?

 a presto,

 massimo

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Massimo Capanni
non ho ancora scritto il codice python, proprio perche' prima mi ponevo
questo problema scrivendo a mano le query direttamente su Sqlite, ma
evidentemente stavo sbagliando approccio :-)

grazie del suggerimento.


Il giorno 05 novembre 2010 09:44, Vittorio Zuccala' 
vittorio.zucc...@gmail.com ha scritto:

 Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo
 molto veloce!
 Ad ogni modo...
 Puoi fornirci il codice che utilizzi?
 Personalmente non ho trovato questo problema nell'inserimento di dati.
 Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db
 sqlite: magari può esserti utile.
 Occhio: magari devi fare un decode come ti segnalo nel codice

 csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '')

 campi=string.split(cnf['tabelle'][i],\n)
 for j in range(len(campi)):
 campo = re.search('(.+).+', campi[j])
 if campo:
 campi[j]=campo.group(1)
 campi.pop(0)  # Elimina il nome della tabella dai campi
 campi.pop(-1)  # Elimina la parentesi finale dai campi


 print Riempio la tabella %s % i
 k=0
 p=1
 inserisci=INSERT INTO %s VALUES( % i
 for row in csv_reader:
 l=len(row)
 for m in range(l):
 row[m] = row[m].decode('latin1')

 if k == 0:# Controlla che i campi della tabella siano
 uguali a quelli del CSV!!!
 for c in range(len(row)):
 if row[c] == campi[c]:
 inserisci = %s %s % (inserisci,?, )
 else:
 print DEVI CAMBIARE LA DEFINIZIONE IN
 CONFIGURAZIONE DI CREAZIONE TABELLA %s % row[c]
 else:
 dimensione=len(inserisci)-2
 inserisci = inserisci[0:dimensione] # Inserendo ?, 
 cancello l'ultima occorrenza di , 
 inserisci = %s %s % (inserisci, ))
 cur.execute(inserisci,row)
 if k==300:
 print Ho finito di aggiungere %d record % (k*p)
 p=p+1
 k=1
 k=k+1

 con.commit()



 Il giorno 05 novembre 2010 09:33, Massimo Capanni 
 massimo.capa...@gmail.com ha scritto:

 Buongiorno,

 forse e' una sciocchezza ma faccio lo stesso questa domanda:
 sto cercando di implementare un semplice database con Sqlite,
 e sto facendo alcune prove a mano direttamente con Sqlite stesso.

 Il database di prova contiene una tabella del genere:

 pippo (a integer primary key autoincrement, b text, c text);

 Cerco di inserire del testo a caso da qualche testo ma, se
 nella copia sono presenti doppi apici o singoli apici Sqlite
 mi comunica che non è correttamente identato. Secondo
 voi dovrei implementare un controllo dell'identazione degli
 apici prima dell'inserimento, con una funzione Python,
 oppure esiste una funzione che automaticamente risolve
 questo problema durante l'input?

 a presto,

 massimo

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python



 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Vittorio Zuccala'
Ok, allora facci vedere delle query che hai scritto.
Anche a questo proposito ti giro una delle viste che creo per un lavoro: se
devi fare qualcosa di dinamico ti conosiglio vivamente le viste.
Rimangono nel db sqlite anche quando il programma python termina e da python
basta fare un SELECT * FROM VISTA
Spero anche questo ti possa essere utile:

CREATE VIEW AnticipiCorretta AS
   select QPR_AGENTE As AgenteCodice,
  AC_RAG_SOCIALE_1 As AgenteRagioneSociale,
  QPR_NUM_PRATICA Pratica,
  CQREP_00_STATO As Stato,
  CQREP_00_ATTRIBUTO As Attributo,

julianday(date('now'))-julianday(strftime(%Y-%m-%d,substr(QPRAN_DATA,1,4)
|| - || substr(QPRAN_DATA,5,2) || - || substr(QPRAN_DATA,7,2))) As
Giorni,
  NETTO As Netto,
  QPR_PRODOTTO As Prodotto,
  prodotti.Descrizione As ProdottoDescrizione,
  C/D As C/D,
  P/P/P As P/P/P,
  QPRAN_PROGRESSIVO As Progressivo,
  ANTICIPO As Anticipo,
  QPRAN_MODALITA As Modalita,
  QPRAN_DATA_STORNO As DataStorno,
  QPRAN_PROVENIENZA As Provenienza,
  QPRAN_DESTINATARIO As Destinatario,
  strftime(%Y-%m-%d,substr(QPRAN_DATA,1,4) || - ||
substr(QPRAN_DATA,5,2) || - || substr(QPRAN_DATA,7,2))  As DataErogazione
   from anticipi
  LEFT JOIN prodotti ON anticipi.QPR_Prodotto=prodotti.IDCodice
  INNER JOIN cqrep000f ON
anticipi.QPR_NUM_Pratica=cqrep000f.CQREP_00_Pratica
   WHERE
  Stato = 30 and
  Attributo NOT LIKE 'RT' and
  DataStorno = 0
   ORDER BY AgenteCodice ASC, Giorni DESC


Il giorno 05 novembre 2010 09:57, Massimo Capanni massimo.capa...@gmail.com
 ha scritto:

 non ho ancora scritto il codice python, proprio perche' prima mi ponevo
 questo problema scrivendo a mano le query direttamente su Sqlite, ma
 evidentemente stavo sbagliando approccio :-)

 grazie del suggerimento.


 Il giorno 05 novembre 2010 09:44, Vittorio Zuccala' 
 vittorio.zucc...@gmail.com ha scritto:

 Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo
 molto veloce!
 Ad ogni modo...
 Puoi fornirci il codice che utilizzi?
 Personalmente non ho trovato questo problema nell'inserimento di dati.
 Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db
 sqlite: magari può esserti utile.
 Occhio: magari devi fare un decode come ti segnalo nel codice

 csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '')

 campi=string.split(cnf['tabelle'][i],\n)
 for j in range(len(campi)):
 campo = re.search('(.+).+', campi[j])
 if campo:
 campi[j]=campo.group(1)
 campi.pop(0)  # Elimina il nome della tabella dai campi
 campi.pop(-1)  # Elimina la parentesi finale dai campi


 print Riempio la tabella %s % i
 k=0
 p=1
 inserisci=INSERT INTO %s VALUES( % i
 for row in csv_reader:
 l=len(row)
 for m in range(l):
 row[m] = row[m].decode('latin1')

 if k == 0:# Controlla che i campi della tabella siano
 uguali a quelli del CSV!!!
 for c in range(len(row)):
 if row[c] == campi[c]:
 inserisci = %s %s % (inserisci,?, )
 else:
 print DEVI CAMBIARE LA DEFINIZIONE IN
 CONFIGURAZIONE DI CREAZIONE TABELLA %s % row[c]
 else:
 dimensione=len(inserisci)-2
 inserisci = inserisci[0:dimensione] # Inserendo ?, 
 cancello l'ultima occorrenza di , 
 inserisci = %s %s % (inserisci, ))
 cur.execute(inserisci,row)
 if k==300:
 print Ho finito di aggiungere %d record % (k*p)
 p=p+1
 k=1
 k=k+1

 con.commit()



 Il giorno 05 novembre 2010 09:33, Massimo Capanni 
 massimo.capa...@gmail.com ha scritto:

  Buongiorno,

 forse e' una sciocchezza ma faccio lo stesso questa domanda:
 sto cercando di implementare un semplice database con Sqlite,
 e sto facendo alcune prove a mano direttamente con Sqlite stesso.

 Il database di prova contiene una tabella del genere:

 pippo (a integer primary key autoincrement, b text, c text);

 Cerco di inserire del testo a caso da qualche testo ma, se
 nella copia sono presenti doppi apici o singoli apici Sqlite
 mi comunica che non è correttamente identato. Secondo
 voi dovrei implementare un controllo dell'identazione degli
 apici prima dell'inserimento, con una funzione Python,
 oppure esiste una funzione che automaticamente risolve
 questo problema durante l'input?

 a presto,

 massimo

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python



 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python



___
Python mailing list

Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Daniele Varrazzo
On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni
massimo.capa...@gmail.com wrote:

 forse e' una sciocchezza ma faccio lo stesso questa domanda:
 sto cercando di implementare un semplice database con Sqlite,
 e sto facendo alcune prove a mano direttamente con Sqlite stesso.
 
 Il database di prova contiene una tabella del genere:
 
 pippo (a integer primary key autoincrement, b text, c text);
 
 Cerco di inserire del testo a caso da qualche testo ma, se
 nella copia sono presenti doppi apici o singoli apici Sqlite
 mi comunica che non è correttamente identato. Secondo
 voi dovrei implementare un controllo dell'identazione degli
 apici prima dell'inserimento, con una funzione Python,
 oppure esiste una funzione che automaticamente risolve
 questo problema durante l'input?

Certo che esiste! E se provi a quotare a mano le stringhe, arriva la
fatina dell'SQL... e ti spezza le ditina! :)

cursor.execute() prende due argomenti: la stringa sql con dei segnaposto
(in sqlite sono dei ?) e una sequenza di variabili: *ci pensa lui* a
metterle insieme e a gestirsi gli apici.

 cur.execute(SELECT ?, ?;, (42, l'apostrofo)).fetchone()
(42, ul'apostrofo)

Letture fondamentali prima di fare qualunque cosa con i database in
python:

* la DB-API, comune a tutti i moduli database python di qualche rilevanza
  http://www.python.org/dev/peps/pep-0249/
* http://en.wikipedia.org/wiki/SQL_injection
* http://xkcd.com/327/

Nella doc di psycopg ci sono più dettagli su perché la fatina dell'SQL si
arrabbia (ti ho già detto che è pelosa?):
http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries.
Fai le dovute differenze perché psycopg usa %s invece di ? come
segnaposto.

A presto!

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Massimo Capanni
*imbarazzato* ... :-)

grazie di tutti i suggerimenti, li provero' subito!

per la cronaca questo erano le istruzioni 'a manina' che effettuavo:

++

.header ON
.mode column

create table pippo (a integer primary key autoincrement, b text, c text);

insert into pippo (b, c) values ('12/10/2010', 'Le esperienze dell'infanzia
e della prima adolescenza, insieme ai giochi che intrattenava con gli amici,
saranno al centro di una successiva opera, il Dottor Sax: la figura del
Dottor Sax fu modellata da Kerouac su quella dell'Ombra, protagonista di un
programma radiofonico settimanale. Nel 1939 si diploma alla Lowell High
School e in questo anno intreccia una relazione amorosa, che non oltrepassa
i confini di una casta infatuazione, con Mary Carney: questa relazione
amorosa verrà rievocata in Maggie Cassidy.');

select * from pippo;
.exit

++

a presto,

max

Il giorno 05 novembre 2010 12:21, Daniele Varrazzo p...@develer.com ha
scritto:

 On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni
 massimo.capa...@gmail.com wrote:

  forse e' una sciocchezza ma faccio lo stesso questa domanda:
  sto cercando di implementare un semplice database con Sqlite,
  e sto facendo alcune prove a mano direttamente con Sqlite stesso.
 
  Il database di prova contiene una tabella del genere:
 
  pippo (a integer primary key autoincrement, b text, c text);
 
  Cerco di inserire del testo a caso da qualche testo ma, se
  nella copia sono presenti doppi apici o singoli apici Sqlite
  mi comunica che non è correttamente identato. Secondo
  voi dovrei implementare un controllo dell'identazione degli
  apici prima dell'inserimento, con una funzione Python,
  oppure esiste una funzione che automaticamente risolve
  questo problema durante l'input?

 Certo che esiste! E se provi a quotare a mano le stringhe, arriva la
 fatina dell'SQL... e ti spezza le ditina! :)

 cursor.execute() prende due argomenti: la stringa sql con dei segnaposto
 (in sqlite sono dei ?) e una sequenza di variabili: *ci pensa lui* a
 metterle insieme e a gestirsi gli apici.

  cur.execute(SELECT ?, ?;, (42, l'apostrofo)).fetchone()
 (42, ul'apostrofo)

 Letture fondamentali prima di fare qualunque cosa con i database in
 python:

 * la DB-API, comune a tutti i moduli database python di qualche rilevanza
  http://www.python.org/dev/peps/pep-0249/
 * http://en.wikipedia.org/wiki/SQL_injection
 * http://xkcd.com/327/

 Nella doc di psycopg ci sono più dettagli su perché la fatina dell'SQL si
 arrabbia (ti ho già detto che è pelosa?):
 
 http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries
 .
 Fai le dovute differenze perché psycopg usa %s invece di ? come
 segnaposto.

 A presto!

 --
 Daniele Varrazzo - Develer S.r.l.
 http://www.develer.com
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Vittorio Zuccala'
Ciao Massimo,
come ti dicevo ecco che postando il codice, debuggare diventa più semplice
:-)
Le istruzioni sono corrette.
Il problema sta nel fatto che se metti gli apici singoli per risolvere il
fatto che Dottor Sax e altri hanno i doppi apici... non devi mettere altri
singoli apici, sebbene nella nostra lingua possa essere apostrofi dentro la
frase.
Ok è una frase lunghissima dove non si capisce una fava ma quello che voglio
dire è che se:

   - dell'infanzia diventa della infanzia
   - dell'Ombra diventa della Ombra

Allora tutto va a posto. Prova con questo insert:

insert into pippo (b, c) values ('12/10/2010', 'Le esperienze della infanzia
e della prima adolescenza, insieme ai giochi che intrattenava con gli amici,
saranno al centro di una successiva opera, il Dottor Sax: la figura del
Dottor Sax fu modellata da Kerouac su quella della Ombra, protagonista di un
programma radiofonico settimanale. Nel 1939 si diploma alla Lowell High
School e in questo anno intreccia una relazione amorosa, che non oltrepassa
i confini di una casta infatuazione, con Mary Carney: questa relazione
amorosa verrà rievocata in Maggie Cassidy.');


Il giorno 05 novembre 2010 14:20, Massimo Capanni massimo.capa...@gmail.com
 ha scritto:


 *imbarazzato* ... :-)

 grazie di tutti i suggerimenti, li provero' subito!

 per la cronaca questo erano le istruzioni 'a manina' che effettuavo:

 ++

 .header ON
 .mode column

 create table pippo (a integer primary key autoincrement, b text, c text);

 insert into pippo (b, c) values ('12/10/2010', 'Le esperienze dell'infanzia
 e della prima adolescenza, insieme ai giochi che intrattenava con gli amici,
 saranno al centro di una successiva opera, il Dottor Sax: la figura del
 Dottor Sax fu modellata da Kerouac su quella dell'Ombra, protagonista di un
 programma radiofonico settimanale. Nel 1939 si diploma alla Lowell High
 School e in questo anno intreccia una relazione amorosa, che non oltrepassa
 i confini di una casta infatuazione, con Mary Carney: questa relazione
 amorosa verrà rievocata in Maggie Cassidy.');

 select * from pippo;
 .exit

 ++

 a presto,

 max

 Il giorno 05 novembre 2010 12:21, Daniele Varrazzo p...@develer.com ha
 scritto:

 On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni
 massimo.capa...@gmail.com wrote:

  forse e' una sciocchezza ma faccio lo stesso questa domanda:
  sto cercando di implementare un semplice database con Sqlite,
  e sto facendo alcune prove a mano direttamente con Sqlite stesso.
 
  Il database di prova contiene una tabella del genere:
 
  pippo (a integer primary key autoincrement, b text, c text);
 
  Cerco di inserire del testo a caso da qualche testo ma, se
  nella copia sono presenti doppi apici o singoli apici Sqlite
  mi comunica che non è correttamente identato. Secondo
  voi dovrei implementare un controllo dell'identazione degli
  apici prima dell'inserimento, con una funzione Python,
  oppure esiste una funzione che automaticamente risolve
  questo problema durante l'input?

 Certo che esiste! E se provi a quotare a mano le stringhe, arriva la
 fatina dell'SQL... e ti spezza le ditina! :)

 cursor.execute() prende due argomenti: la stringa sql con dei segnaposto
 (in sqlite sono dei ?) e una sequenza di variabili: *ci pensa lui* a
 metterle insieme e a gestirsi gli apici.

  cur.execute(SELECT ?, ?;, (42, l'apostrofo)).fetchone()
 (42, ul'apostrofo)

 Letture fondamentali prima di fare qualunque cosa con i database in
 python:

 * la DB-API, comune a tutti i moduli database python di qualche rilevanza
  http://www.python.org/dev/peps/pep-0249/
 * http://en.wikipedia.org/wiki/SQL_injection
 * http://xkcd.com/327/

 Nella doc di psycopg ci sono più dettagli su perché la fatina dell'SQL si
 arrabbia (ti ho già detto che è pelosa?):
 
 http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries
 .
 Fai le dovute differenze perché psycopg usa %s invece di ? come
 segnaposto.

 A presto!

 --
 Daniele Varrazzo - Develer S.r.l.
 http://www.develer.com
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python



 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Daniele Varrazzo
On Fri, 5 Nov 2010 14:36:59 +0100, Vittorio Zuccala'
vittorio.zucc...@gmail.com wrote:

 Le istruzioni sono corrette.
 Il problema sta nel fatto che se metti gli apici singoli per risolvere
il
 fatto che Dottor Sax e altri hanno i doppi apici... non devi mettere
altri
 singoli apici, sebbene nella nostra lingua possa essere apostrofi dentro
la
 frase.

Stai scherzando, vero? Vorresti dire che in un database non si possono
mettere apostrofi?

No, le istruzioni postate *non* sono corrette: l'espressione sql insert
[...] values ('l'apostrofo') è un errore di sintassi sql e la correzione
non è insert ('lo apostrofo'): questa è una trasformazione semantica e
immette dati diversi da quelli desiderati. La sintassi accettata da molti
database è quella di raddoppiare gli apostrofi (altri meccanismi per altri
database): insert [...] values ('l''apostrofo') è sia corretto come
sintassi sql sia fa quello che deve fare.

In ottica di Python poi, visto che quest'ultimo ha un modo diverso di
ricevere in input una costante stringa ('l\'apostrofo' o l'apostrofo...)
occorre una trasformazione (ma sintattica, non semantica) che converta un
oggetto stringa python in una rappresentazione stringa sql, e il driver è
l'unico oggetto che si deve occupare di questa trasformazione.

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] delimitatori testo in sqlite

2010-11-05 Per discussione Vittorio Zuccala'
Il giorno 05 novembre 2010 15:12, Daniele Varrazzo p...@develer.com ha
scritto:


 Stai scherzando, vero? Vorresti dire che in un database non si possono
 mettere apostrofi?


Daniele, scherzare è uno dei punti di forza del mio carattere ma in questo
contesto di solito non sono solito farlo.



 No, le istruzioni postate *non* sono corrette: l'espressione sql insert
 [...] values ('l'apostrofo') è un errore di sintassi sql e la correzione
 non è insert ('lo apostrofo'): questa è una trasformazione semantica e
 immette dati diversi da quelli desiderati. La sintassi accettata da molti
 database è quella di raddoppiare gli apostrofi (altri meccanismi per altri
 database): insert [...] values ('l''apostrofo') è sia corretto come
 sintassi sql sia fa quello che deve fare.



Ti ringrazio per la precisazione sicuramente più tecnica.
Lo scopo del mio post non era quello di dire che non si devono usare
apostrofi ma che il problema era l'apostrofo.
L'escape nell'apostrofo è una cosa sicuramente buona e giusta.
Grazie quindi per le precisazioni.
Sicuramente Massimo e la comunità ne gioverà.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python