[Python] Excepción al consultar base de datos SQLite [RESUELTO]

Iniciado por MA40, 23 Octubre 2016, 01:40 AM

0 Miembros y 1 Visitante están viendo este tema.

MA40

Hola.

Al hacer una consulta a una base de datos SQLite de la siguiente forma:

Código (python) [Seleccionar]

try:
   cursor.execute("""SELECT registro FROM tabla WHERE registro = ?""", (valor_del_registro,))
except:
   hacer cualquier cosa


NUNCA, aunque el valor_del_registro no exista en la base de datos, se produce la excepción.

¿Qué estoy haciendo mal?

Un saludo.
¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador

tincopasan

¿será porque hay " triples en el código?
Código (python) [Seleccionar]

cursor.execute("""SELECT registro FROM tabla WHERE registro = ?""", (valor_del_registro,))

lo cambiaría por:
Código (python) [Seleccionar]

cursor.execute("SELECT registro FROM tabla WHERE registro = ?", (valor_del_registro,))

MA40

#2
Hola.

Ya he conseguido solucionar el problema; sería de esta forma:

Código (python) [Seleccionar]
try:
   cursor.execute("""SELECT registro FROM tabla WHERE registro = ?""", (valor_del_registro,))
   cursor.fetchone()[0]
except:
   hacer cualquier cosa


Yo lo interpreto de la siguiente forma: con hacer sólo una consulta mediante SELECT a la base de datos, no se genera la excepción; es necesario hacer alguna operación con el resultado obtenido para que sí se cree una excepción.

Un saludo.
¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador