Il 14/05/2015 15:07, Riccardo Brazzale ha scritto:
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'"?
Se prima del try ti crei la stringa?
curr_sql = sql % (var1, var2)
try:
curs.execute(curr_sql)
except:
print curr_sql
Magari mettici pure l'errore generato..
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python