Ciao, 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 :-)
Faccio una semplice sql: sql = "SELECT * FROM table WHERE campo 1 = %s AND campo2 = %s" curs.execute(sql, (var1, var2, )) Fin qui tutto ok. 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. Come faccio a fare una cosa del tipo: try: curs.execute(sql, (var1, var2, )) except: print(ultima_istruzione_sql_eseguita) in modo che ultima_istruzione_sql_eseguita sia "SELECT * FROM table WHERE campo1 = 'ABCDEF' AND campo2 = '\x3BRGF'"? 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. Ho googlato in giro, qualcuno parla di cursor.statement ma a me non funza. Grazie! -- Riccardo Brazzale
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python