<br>*imbarazzato* ... :-)<br><br>grazie di tutti i suggerimenti, li provero&#39; subito!<br><br>per la cronaca questo erano le istruzioni &#39;a manina&#39; che effettuavo:<br><br>++++++++++++++++++++++++++++++++++++++++++++++++++<br>
<br>.header ON<br>.mode column <br><br>create table pippo (a integer primary key autoincrement, b text, c text);<br><br>insert into pippo (b, c) values (&#39;12/10/2010&#39;, &#39;Le esperienze dell&#39;infanzia e della prima adolescenza, insieme ai giochi che intrattenava con gli amici, saranno al centro di una successiva opera, il &quot;Dottor Sax&quot;: la figura del Dottor Sax fu modellata da Kerouac su quella dell&#39;Ombra, protagonista di un programma radiofonico settimanale. Nel 1939 si diploma alla &quot;Lowell High School&quot; 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 &quot;Maggie Cassidy&quot;.&#39;);<br>
<br>select * from pippo;<br>.exit<br><br>++++++++++++++++++++++++++++++++++++++++++++++++++<br><br>a presto,<br><br>max<br><br><div class="gmail_quote">Il giorno 05 novembre 2010 12:21, Daniele Varrazzo <span dir="ltr">&lt;<a href="mailto:piro@develer.com">piro@develer.com</a>&gt;</span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><div class="h5">On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni<br>
&lt;<a href="mailto:massimo.capanni@gmail.com">massimo.capanni@gmail.com</a>&gt; wrote:<br>
<br>
&gt; forse e&#39; una sciocchezza ma faccio lo stesso questa domanda:<br>
&gt; sto cercando di implementare un semplice database con Sqlite,<br>
&gt; e sto facendo alcune prove a mano direttamente con Sqlite stesso.<br>
&gt;<br>
&gt; Il database di prova contiene una tabella del genere:<br>
&gt;<br>
&gt; pippo (a integer primary key autoincrement, b text, c text);<br>
&gt;<br>
&gt; Cerco di inserire del testo a caso da qualche testo ma, se<br>
&gt; nella copia sono presenti doppi apici o singoli apici Sqlite<br>
&gt; mi comunica che non è correttamente identato. Secondo<br>
&gt; voi dovrei implementare un controllo dell&#39;identazione degli<br>
&gt; apici prima dell&#39;inserimento, con una funzione Python,<br>
&gt; oppure esiste una funzione che automaticamente risolve<br>
&gt; questo problema durante l&#39;input?<br>
<br>
</div></div>Certo che esiste! E se provi a quotare a mano le stringhe, arriva la<br>
fatina dell&#39;SQL... e ti spezza le ditina! :)<br>
<br>
cursor.execute() prende due argomenti: la stringa sql con dei segnaposto<br>
(in sqlite sono dei &quot;?&quot;) e una sequenza di variabili: *ci pensa lui* a<br>
metterle insieme e a gestirsi gli apici.<br>
<br>
&gt;&gt;&gt; cur.execute(&quot;SELECT ?, ?;&quot;, (42, &quot;l&#39;apostrofo&quot;)).fetchone()<br>
(42, u&quot;l&#39;apostrofo&quot;)<br>
<br>
Letture fondamentali prima di fare qualunque cosa con i database in<br>
python:<br>
<br>
* la DB-API, comune a tutti i moduli database python di qualche rilevanza<br>
  <a href="http://www.python.org/dev/peps/pep-0249/" target="_blank">http://www.python.org/dev/peps/pep-0249/</a><br>
* <a href="http://en.wikipedia.org/wiki/SQL_injection" target="_blank">http://en.wikipedia.org/wiki/SQL_injection</a><br>
* <a href="http://xkcd.com/327/" target="_blank">http://xkcd.com/327/</a><br>
<br>
Nella doc di psycopg ci sono più dettagli su perché la fatina dell&#39;SQL si<br>
arrabbia (ti ho già detto che è pelosa?):<br>
&lt;<a href="http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries" target="_blank">http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries</a>&gt;.<br>
Fai le dovute differenze perché psycopg usa &quot;%s&quot; invece di &quot;?&quot; come<br>
segnaposto.<br>
<br>
A presto!<br>
<font color="#888888"><br>
--<br>
Daniele Varrazzo - Develer S.r.l.<br>
<a href="http://www.develer.com" target="_blank">http://www.develer.com</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br>