Que tal.
Según yo, a ver quien da más, el erro de la línea 47 es porque, una sentencia SQL insert no devuelve un recordset, entonces debería de ser.
Código:
con.execute(sql) <<<<<-----------////////////LINEA 47////////////
Y delfin debería de postear sus propias preguntas ( con todo respeto)
Saludos!