<div dir="ltr"><div><div><span style="font-family:monospace,monospace">Ciao,<br><br></span></div><span style="font-family:monospace,monospace">Mi connetto a un database mysql con mysql.connector ma potrebbe essere qualsiasi altro motore DB. So che PG sarebbe passerebbe più innosservato in questa ML :-)<br><br></span></div><div><span style="font-family:monospace,monospace">Faccio una semplice sql:<br><br></span></div><div><span style="font-family:monospace,monospace">sql = "SELECT * FROM table WHERE campo 1 = %s AND campo2 = %s"<br><br></span></div><div><span style="font-family:monospace,monospace">curs.execute(sql, (var1, var2, ))<br><br></span></div><div><span style="font-family:monospace,monospace">Fin qui tutto ok.<br><br></span></div><div><span style="font-family:monospace,monospace">Ora ipotizziamo che l' sql stia all'interno di un ciclo che sta girando su svariate centinaia di migliaia di combinazioni di var1 e var2 ed a un certo punto fallisca in quanto var1 o var2 contengono valori che non vanno bene per il rispettivo campo.<br><br></span></div><div><span style="font-family:monospace,monospace">Come faccio a fare una cosa del tipo:<br><br></span></div><div><span style="font-family:monospace,monospace">try:<br></span></div><div><span style="font-family:monospace,monospace">    curs.execute(sql, (var1, var2, ))<br><br></span></div><div><span style="font-family:monospace,monospace">except:<br><br></span></div><div><span style="font-family:monospace,monospace">    print(ultima_istruzione_sql_eseguita)<br><br></span></div><div><span style="font-family:monospace,monospace">in modo che ultima_istruzione_sql_eseguita sia<br>"</span><span style="font-family:monospace,monospace">SELECT * FROM table WHERE campo1 = 'ABCDEF' AND campo2 = '\x3BRGF'"?</span></div><div><span style="font-family:monospace,monospace"><br><br></span></div><div><span style="font-family:monospace,monospace">Mettere nell'except una roba del tipo print(var1, var2) potrebbe starci se hai 2 valori ma l'sql contiene in realtà centinaia di campi e avere la stringa sql in chiaro risulterebbe (per me) più leggibile in quanto ha il campo associato al valore.<br><br></span></div><div><span style="font-family:monospace,monospace">Ho googlato in giro, qualcuno parla di cursor.statement ma a me non funza.<br><br></span></div><div><span style="font-family:monospace,monospace">Grazie!<br></span></div><div><br><br></div><div><div><div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><font face="monospace" size="2">Riccardo Brazzale</font></div><div dir="ltr"><br></div></div></div></div></div>
</div></div></div></div>