[pyar] COMO SABER SI UNA CONSULTA SQL EN PYTHON ES EFECTIVA

Roberto Matarrita rmatarria en gmail.com
Mie Ago 16 14:33:42 ART 2017


Perfecto Nahuel, me funcionó correctamente, no conocía esa función, ahora
si me lo detecta.
Muchas gracias por la ayuda.

Robetto
Costa Rica.

El 16 de agosto de 2017, 11:20, Nahuel Ambrosini <ambro17.1 en gmail.com>
escribió:

> Existe el método size() en la clase SQLQuery que hace exactamente eso. Por
> lo que leí acá ( https://forum.qt.io/topic/12901/count-qsqlquery-results/4)
> count tiene problemas con las bases de datos que no devuelven el número
> de rows del resultSet, si no me equivoco sqlite te daría problemas.
>
> La idea sería:
> If consulta.size() >0 {
>  While(query. Next() {
>                //tu código
>       }
> }
> Else {
>     //no encontré nada
> }
>
>
> Notá que query.next devuelve el *primer*  registro cuando es llamada por
> primera vez con lo cual no es necesario leer y después empezar a iterar.
> Saludos
>
> El 16 ago. 2017 1:18 PM, <pyar-request en python.org.ar> escribió:
>
> Envíe los mensajes para la lista pyar a
>         pyar en python.org.ar
>
> Para subscribirse o anular su subscripción a través de la WEB
>         http://listas.python.org.ar/listinfo/pyar
>
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
>         pyar-request en python.org.ar
>
> Puede contactar con el responsable de la lista escribiendo a:
>         pyar-owner en python.org.ar
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of pyar digest...". Además, por favor, incluya en la
> respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
>
>
> Asuntos del día:
>
>    1. Re: COMO SABER SI UNA CONSULTA SQL EN PYTHON ES EFECTIVA
>       (Roberto Matarrita)
>    2. Re: COMO SABER SI UNA CONSULTA SQL EN PYTHON ES EFECTIVA
>       (Roberto Matarrita)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 16 Aug 2017 10:16:50 -0600
> From: Roberto Matarrita <rmatarria en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] COMO SABER SI UNA CONSULTA SQL EN PYTHON ES
>         EFECTIVA
> Message-ID:
>         <CA+1ujixcU59SarcvVhuqmim=PzyZF=60CB_8QYWT8xLU_yRM-w en mail.
> gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Te comento Andrés.
> No se como se usa el querycount(), tal ves un ejemplo.
>
> El asunto es el siguiente.
> Tengo una forma hecha en PYQT5, con tres campos, Identificación, Nombre,
> Edad.
> La idea es digitar la identificación y que el sistema me traiga la
> información y me la muestre en los campos, cosa que si dígito un campo
> existente el proceso me trae los datos correctos. El problema lo tengo
> cuando dígito un código que no existe. El sistema me muestra True y debe
> ser False y nunca puedo mostrar el mensaje de que Datos no Existen.
> desconozco porque si un dato no existe, aun así muestra como si existiera.
>
> Espero haber explicado bien y si no le publico todo el código.
>
> El código esta en Python 3.5.
>
> Gracias
> Roberto
> Costa Rica.
>
> El 16 de agosto de 2017, 10:04, Andrés Ramírez <
> andres.ramirez.miori en gmail.com> escribió:
>
> > Sin conocer lo que está usando parecería que deberías hacer algo del tipo
> > query.count()
> >
> > El 16 ago. 2017 12:56 PM, "Roberto Matarrita" <rmatarria en gmail.com>
> > escribió:
> >
> >> Esta es la forma de como lo estoy haciendo.
> >>
> >> def Consultar2(self):
> >>       llave = str(self.identificacion.text())
> >>       sql = ("SELECT * FROM usuarios where id
> >> ="+self.identificacion.text())
> >>
> >>
> >>       query = QSqlQuery(sql)
> >>
> >>       consulta = QSqlQuery()
> >>       consulta.prepare(sql)
> >>       consulta.bindValue(":ID ",id)
> >>
> >>       estado = consulta.exec_()
> >>
> >>       if estado == True:
> >>           idatos = self.identificacion.text()
> >>           nombre = self.nombre.text()
> >>           edad   = self.edad.text()
> >>
> >>          #Ciclo para mostrar los datos en pantalla, por si se trae más
> de
> >> una fila.
> >>           while query.next():
> >>
> >>              ide        = QTableWidgetItem(str(query.value(0)))
> >>              nombre = QTableWidgetItem(str(query.value(1)))
> >>              edad     = QTableWidgetItem(str(query.value(2)))
> >>              self.identificacion.setText(str(query.value(0)))
> >>              self.nombre.setText(query.value(1))
> >>              self.nombreaux.setText(query.value(1))
> >>              self.edad.setText(str(query.value(2)))
> >>             QMessageBox.information(self,"Consulta Datos
> >> Correcta.","Validacion Correcta",QMessageBox.Discard)
> >>
> >>       else:
> >>         QMessageBox.information(self,"Dato No Encontrado.","Validacion
> >> Incorrecta",QMessageBox.Discard)
> >>
> >>
> >> El 16 de agosto de 2017, 4:52, Maxi <maxirobaina en gmail.com> escribió:
> >>
> >>>
> >>> El 16/08/2017 01:06, "Roberto Matarrita" <rmatarria en gmail.com>
> escribió:
> >>> >
> >>> > Buenas noches.
> >>> >
> >>> > Estoy utilizando Python 3.5 y PYQT5.
> >>> >
> >>> > Necesito saber cuando una consulta sql no trae información para
> >>> mostrar un mensaje de Datos no Encontrados.
> >>> >
> >>> > Lo hago utilizando un IF, pero no me da los resultado que necesito.
> >>> >
> >>> Podes poner un ejemplo de como lo estás haciendo?
> >>>
> >>> Saludos
> >>>
> >>> _______________________________________________
> >>> 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/2017
> 0816/509bb030/attachment-0001.html>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 16 Aug 2017 10:18:43 -0600
> From: Roberto Matarrita <rmatarria en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] COMO SABER SI UNA CONSULTA SQL EN PYTHON ES
>         EFECTIVA
> Message-ID:
>         <CA+1ujiye+jXLbUpCZdT7_-Qr7va-dBQz33JZAa9L9QQWSR+X6g en mail.gm
> ail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Voy a revisar Andrés y te aviso como me fue.
>
> Ok
>
>
> El 16 de agosto de 2017, 10:09, Andrés Ramírez <
> andres.ramirez.miori en gmail.com> escribió:
>
> > Acá dicen usar el método size
> >
> > https://forum.qt.io/topic/12901/count-qsqlquery-results/2
> >
> > El 16 ago. 2017 1:04 PM, "Andrés Ramírez" <andres.ramirez.miori en gmail.co
> m>
> > escribió:
> >
> >> Sin conocer lo que está usando parecería que deberías hacer algo del
> tipo
> >> query.count()
> >>
> >> El 16 ago. 2017 12:56 PM, "Roberto Matarrita" <rmatarria en gmail.com>
> >> escribió:
> >>
> >>> Esta es la forma de como lo estoy haciendo.
> >>>
> >>> def Consultar2(self):
> >>>       llave = str(self.identificacion.text())
> >>>       sql = ("SELECT * FROM usuarios where id
> >>> ="+self.identificacion.text())
> >>>
> >>>
> >>>       query = QSqlQuery(sql)
> >>>
> >>>       consulta = QSqlQuery()
> >>>       consulta.prepare(sql)
> >>>       consulta.bindValue(":ID ",id)
> >>>
> >>>       estado = consulta.exec_()
> >>>
> >>>       if estado == True:
> >>>           idatos = self.identificacion.text()
> >>>           nombre = self.nombre.text()
> >>>           edad   = self.edad.text()
> >>>
> >>>          #Ciclo para mostrar los datos en pantalla, por si se trae más
> >>> de una fila.
> >>>           while query.next():
> >>>
> >>>              ide        = QTableWidgetItem(str(query.value(0)))
> >>>              nombre = QTableWidgetItem(str(query.value(1)))
> >>>              edad     = QTableWidgetItem(str(query.value(2)))
> >>>              self.identificacion.setText(str(query.value(0)))
> >>>              self.nombre.setText(query.value(1))
> >>>              self.nombreaux.setText(query.value(1))
> >>>              self.edad.setText(str(query.value(2)))
> >>>             QMessageBox.information(self,"Consulta Datos
> >>> Correcta.","Validacion Correcta",QMessageBox.Discard)
> >>>
> >>>       else:
> >>>         QMessageBox.information(self,"Dato No Encontrado.","Validacion
> >>> Incorrecta",QMessageBox.Discard)
> >>>
> >>>
> >>> El 16 de agosto de 2017, 4:52, Maxi <maxirobaina en gmail.com> escribió:
> >>>
> >>>>
> >>>> El 16/08/2017 01:06, "Roberto Matarrita" <rmatarria en gmail.com>
> >>>> escribió:
> >>>> >
> >>>> > Buenas noches.
> >>>> >
> >>>> > Estoy utilizando Python 3.5 y PYQT5.
> >>>> >
> >>>> > Necesito saber cuando una consulta sql no trae información para
> >>>> mostrar un mensaje de Datos no Encontrados.
> >>>> >
> >>>> > Lo hago utilizando un IF, pero no me da los resultado que necesito.
> >>>> >
> >>>> Podes poner un ejemplo de como lo estás haciendo?
> >>>>
> >>>> Saludos
> >>>>
> >>>> _______________________________________________
> >>>> 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/2017
> 0816/ced8ae21/attachment.html>
>
> ------------------------------
>
> Subject: Pié de página del digest
>
> _______________________________________________
> pyar mailing list
> pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
>
> ------------------------------
>
> Fin de Resumen de pyar, Vol 90, Envío 23
> *****************************************
>
>
>
> _______________________________________________
> 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/20170816/099b3ef8/attachment-0001.html>


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