[pyar] Como ver el contenido de la instrucción select o update.

Cristhian Boujon cristhianboujon en gmail.com
Mie Ene 17 17:09:07 ART 2018


Roberto,

En principio no tiene nada de malo tu código, a simple vista. La sintaxis
SQL es correcta, así como también el format del string. Hacer un print de
la consulta no tiene sentido en este caso porque no vas a ver otra cosa que
no sea la query hardcodeada.
sería interesante poder ver el mensaje de error. Podrías cambiar el except
éque tens por algo así temporalmente:

except Exception as e:
    QMessageBox.warning(self, str(e))

O incluso quitar el try/catch para ver el stacktrace.


---
*If you want to know more about me, you can check:*
* <http://github.com/Overflow012> [image:
https://www.linkedin.com/in/cristhian-boujon/]
<https://www.linkedin.com/in/cristhian-boujon/> [image:
http://overflow012.wordpress.com/] <http://overflow012.wordpress.com/>*


2018-01-17 16:54 GMT-03:00 Roberto Matarrita <rmatarria en gmail.com>:

> Cristian esta es la rutina que tengo para hacer las actualizaciones.
> El problema es el siguiente. Si te das cuenta pongo dos Update, pero es
> para hacer la siguiente explicación.
>
> 1. El primer update me funciona correctamente cuando solo actualizo un
> campo.
> 2. En el segundo update, no se realiza para nada la actualización de los
> datos y mas bien se va por el acept del try. Desconozco el porqué, cuando
> pongo más campos para actualizar, no me lo hace.
> 3. Por eso necesito saber, si es que estoy cometiendo un error y segundo
> como puedo ver el contenido del SQL, con los valores que estoy pasando como
> parámetros.
>
> Si me pueden ayudar sería excelente, ya que me ha costado mucho en Python,
> trabajar las sentencias SQL y existe muy poca documentación del tema.
>
> Si me pueden dar un ejemplo del contenido del SQL en el print excelente.
>
> Roberto.
>
> def Modificar(self,idatos):
>          ##Conexción a la Base de Datgos
>       conn   = psycopg2.connect(database='safco',user='postgres',password='Administra8080',
> host='localhost')
>       cursor = conn.cursor()
>
>       llave       = self.txtcod_documento.text()
>       nombres = self.txtdes_documento.text()
>       activo     = self.txtcod_activo_nulo
>       cia          = '01'
>       usuario   = '1'
>
>       try:
>        reply = QMessageBox.question(self, "Actualizar Registro", "Desea
> Actualizar Registro", QMessageBox.Yes, QMessageBox.No)
>
>          if reply == QMessageBox.Yes:
>             cursor.execute("UPDATE sig_personerias SET cdes_personeria =
> %s WHERE ccod_personeria = %s", (nombres,llave))
>
>             cursor.execute("UPDATE sig_personerias SET cdes_personeria =
> %s, ccod_activo_nulo = %s WHERE ccod_compania = %s and
> ccod_personeria = %s", (nombres,activo,cia,llave))
>
>            conn.commit();
>            conn.close();
>       except:
>         QMessageBox.warning(self, "No se pudo Actualizar Registro",
> self.db.lastError().text(), QMessageBox.Discard)
>
>       self.txtcod_documento.setFocus()
>       self.LimpiarTable()
>       self.Seleccionar()
>
> El 17 de enero de 2018, 13:12, Cristhian Boujon <cristhianboujon en gmail.com
> > escribió:
>
>> Hola Roberto,
>>
>> Qué librerías estás usando para interactuar con la base de datos?
>> Por otro lado y a priori, normalmente podes ver la consulta (Sin los
>> datos específicos) con un print del objeto que representa la query.
>>
>> Saludos.
>>
>>
>> ---
>> *If you want to know more about me, you can check:*
>> * <http://github.com/Overflow012> [image:
>> https://www.linkedin.com/in/cristhian-boujon/]
>> <https://www.linkedin.com/in/cristhian-boujon/> [image:
>> http://overflow012.wordpress.com/] <http://overflow012.wordpress.com/>*
>>
>>
>> 2018-01-17 16:01 GMT-03:00 Roberto Matarrita <rmatarria en gmail.com>:
>>
>>> Buenas tardes.
>>> Tengo un problema muy grande con la utilización de los select, tanto a
>>> nivel de consultas, actualizaciones, borrado de información. No es posible
>>> que se me ejecuten. En una tabla si ,lo hacen perfectamente, pero al
>>> trasladarlos al sistema actual no los hace.
>>>
>>> Necesito saber si en python hay alguna posibilidad de saber el contenido
>>> de la ejecución del select, es decir imprimir la instrucción mas el valores
>>> de las variables que se pasan, para ver el porque no me los ejecuta. O bien
>>> ver si es que los valores van equivocados.
>>>
>>> Espero explicarme y me puedan ayudar.
>>>
>>>
>>> Roberto
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180117/5a5c8e6d/attachment.html>


Más información sobre la lista de distribución pyar