Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/12/2010, 12:14
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Parrafo de Python con problemas

Por lo poco que pude leer en el tutorial de Psycopg2

Debes de hacer un fetchall
El hecho de que un select arroje una excepción, no indica que no se encontró ningún resultado, indica que no se pudo realizar la acción.

Código Python:
Ver original
  1. import psycopg2
  2. cn = psycopg2.connect("host=localhost dbname=my_db user=postgres password=xxxxxx")
  3. cur = cn.cursor()
  4. relacio = 331232111222022112121122211121121111132213212222123121111111
  5. #
  6. #si no existe se inserta nuevo registro y si existe pasa ya que esta registrado
  7. #
  8. try:
  9.     #seleccionar registro
  10.     cur.execute("SELECT * from tabla_pendientes WHERE sesentapendientes = %s", (relacio,)) #Si falla el query arroja una excepcion
  11.     filas = cur.fetchall() #En este caso, no falla, pero no hay elementos en la lista
  12.     if filas:
  13.         print "Encontrado"
  14.         for fila in filas:
  15.             print fila
  16.     else:
  17.         print "NO encontrado, insertando..."
  18.         cur.execute("INSERT INTO tabla_pendientes (sesentapendientes) VALUES (%s)", (relacio,))
  19.         cn.commit()
  20. except:
  21.     print "Error en un query"

Para el resaltado de sintaxis te recomiendo que leas esto.

Edito: No tengo psycopg2 instalado y tampoco PostgreSQL, así que no pude probar si el script se encuentra bien. Pero debería de funcionar a menos que tenga algún error de dedo.