Python - Busqueda base de datos limitada

 
Vista:
sin imagen de perfil
Val: 39
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Busqueda base de datos limitada

Publicado por Edgar (10 intervenciones) el 08/03/2017 21:57:49
Buenas noches,

Estoy haciendo una cerradura para unas puertas con python y arduino.... La idea es tenerlo todo en una caja y cada vez que alguien acerque una tarjeta o introduzca un código, arduino lo comunica a python y este se encarga de leer la base de datos. Más que nada lo realizo así para no utilizar un GET en arduino.


Pos bien, llevo un rato peleándome con el código de python (e de decir que soy muy novato con el) que realiza la consulta en la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import MySQLdb
 
# Establecemos la conexin con la base de datos
bd = MySQLdb.connect("localhost","root","alguna","login" )
 
# Preparamos el cursor que nos va a ayudar a realizar las operaciones con la base de datos
cursor = bd.cursor()
 
# Preparamos el query SQL para obtener el empleado de la BD
sql = "SELECT * FROM personal WHERE NOMBRE = 'EDGAR'"
try:
   # Ejecutamos el comando
   cursor.execute(sql)
   # Obtenemos todos los registros en una lista de listas
   resultados = cursor.fetchall()
   for registro in resultados:
      nombre = registro[0]
      apellido = registro[1]
      edad = registro[2]
      sexo = registro[3]
      salario = registro[4]
      # Imprimimos los resultados obtenidos
      print "OK"
except:
   print "ERROR"

Esta parte solo se encarga de buscar el usuario "edgar" en la base de datos y devolver un ok si existe o un error si no es así. El problema es que siempre me devuelve error.... Alguna idea ??


También pedir si alguien sabe de un buen tutorial de python que me lo comente.


Como siempre muchas gracias por todo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Busqueda base de datos limitada

Publicado por kip (257 intervenciones) el 09/03/2017 06:27:35
Hola, modifica tu codigo para que te muestre en lugar de 'ERROR' el verdadero error, asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
try:
   # Ejecutamos el comando
   cursor.execute(sql)
   # Obtenemos todos los registros en una lista de listas
   resultados = cursor.fetchall()
   for registro in resultados:
      nombre = registro[0]
      apellido = registro[1]
      edad = registro[2]
      sexo = registro[3]
      salario = registro[4]
      # Imprimimos los resultados obtenidos
      print "OK"
except (MySQLdb.Error, MySQLdb.Warning) as e::
   print e

Ejecuta y cuentanos que mensaje te muestra, ademas de eso asegurate de que el nombre de los campos de la tabla en tu query sean correctos ademas de la tabla misma...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 39
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Busqueda base de datos limitada

Publicado por Edgar (10 intervenciones) el 11/03/2017 17:21:30
hola kip,

Antes de nada, gracias por la respuesta,.



He modificado el código según tu mensaje y sobre el chat y ya funciona...

Hay que correguir la linea 14 y hay que dejarla así
1
except (MySQLdb.Error, MySQLdb.Warning) as e:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar