Discussion:
[pyar] Problema con SELECT, a nivel de consulta.
Roberto Matarrita
2018-01-13 18:20:58 UTC
Permalink
Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente problema,
lo cual me tiene muy desconsertado y no doy porque no me realiza la
consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.

Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.

Tengo un campo en la forma que se llama* txtcod_documento*, este campo en
la tabla se llama *ccod_documento* y tipo *char (4*).

La consulta la realizo de la siguiente forma.

* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*

El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.

* sql = ("SELECT * FROM sig_personerias where ccod_personeria = '1'
")*

No tengo problema alguno, se trae toda la información. Desconozco el porque
o que estoy haciendo mal, que no se trae la información, cuando incluyo en
campo texto. He utilizado varias formas que he visto en internet y no me da
resultados.

Incluso vi un ejemplo y lo adapte y no funciona.

sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)

Mucho agradeceria su ayuda.

Roberto.
Bruno Tenaglia
2018-01-13 18:27:19 UTC
Permalink
Hola. Como andas.
Y en la ultima query que pones, que valo tiene "llave"?
Podes hacer print sql para ver si el string se esta armando bien.




El 13/1/2018 3:21 PM, "Roberto Matarrita" <***@gmail.com> escribió:

Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente problema,
lo cual me tiene muy desconsertado y no doy porque no me realiza la
consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.

Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.

Tengo un campo en la forma que se llama* txtcod_documento*, este campo en
la tabla se llama *ccod_documento* y tipo *char (4*).

La consulta la realizo de la siguiente forma.

* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*

El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.

* sql = ("SELECT * FROM sig_personerias where ccod_personeria = '1'
")*

No tengo problema alguno, se trae toda la información. Desconozco el porque
o que estoy haciendo mal, que no se trae la información, cuando incluyo en
campo texto. He utilizado varias formas que he visto en internet y no me da
resultados.

Incluso vi un ejemplo y lo adapte y no funciona.

sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)

Mucho agradeceria su ayuda.

Roberto.

_______________________________________________
Lista de Correo de PyAr - Python Argentina - ***@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
Nicolás Antinori
2018-01-13 18:39:51 UTC
Permalink
Creo que no le estas poniendo las comillas simples a la sentencia que
armas, es por eso que *"SELECT * FROM sig_personerias where ccod_personeria
= '1' "* funciona. Fijate de encerrar entre comillas simples el argumeto
que utilizas:

sql = "select * from sig_personerias where ccod_personeria = \'%s\'" % llave

Saludos!
Post by Bruno Tenaglia
Hola. Como andas.
Y en la ultima query que pones, que valo tiene "llave"?
Podes hacer print sql para ver si el string se esta armando bien.
Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente
problema, lo cual me tiene muy desconsertado y no doy porque no me realiza
la consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.
Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.
Tengo un campo en la forma que se llama* txtcod_documento*, este campo en
la tabla se llama *ccod_documento* y tipo *char (4*).
La consulta la realizo de la siguiente forma.
* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*
El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.
* sql = ("SELECT * FROM sig_personerias where ccod_personeria =
'1' ")*
No tengo problema alguno, se trae toda la información. Desconozco el
porque o que estoy haciendo mal, que no se trae la información, cuando
incluyo en campo texto. He utilizado varias formas que he visto en internet
y no me da resultados.
Incluso vi un ejemplo y lo adapte y no funciona.
sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)
Mucho agradeceria su ayuda.
Roberto.
_______________________________________________
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
_______________________________________________
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
--
Nicolás Antinori.
Gustavo Campanelli
2018-01-13 19:36:16 UTC
Permalink
Post by Nicolás Antinori
Creo que no le estas poniendo las comillas simples a la sentencia que
armas, es por eso que *"SELECT * FROM sig_personerias where
ccod_personeria = '1' "* funciona. Fijate de encerrar entre comillas
sql = "select * from sig_personerias where ccod_personeria = \'%s\'" % llave
Saludos!
El 13 de enero de 2018, 15:27, Bruno Tenaglia <
Post by Bruno Tenaglia
Hola. Como andas.
Y en la ultima query que pones, que valo tiene "llave"?
Podes hacer print sql para ver si el string se esta armando bien.
Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente
problema, lo cual me tiene muy desconsertado y no doy porque no me realiza
la consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.
Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.
Tengo un campo en la forma que se llama* txtcod_documento*, este campo
en la tabla se llama *ccod_documento* y tipo *char (4*).
La consulta la realizo de la siguiente forma.
* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*
El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.
* sql = ("SELECT * FROM sig_personerias where ccod_personeria =
'1' ")*
No tengo problema alguno, se trae toda la información. Desconozco el
porque o que estoy haciendo mal, que no se trae la información, cuando
incluyo en campo texto. He utilizado varias formas que he visto en internet
y no me da resultados.
Incluso vi un ejemplo y lo adapte y no funciona.
sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)
Mucho agradeceria su ayuda.
Roberto.
_______________________________________________
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
_______________________________________________
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
--
Nicolás Antinori.
_______________________________________________
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
Comencemos con lo básico. ¿estas usando alguna biblioteca para realizar la
conexión? en ese caso ¿cual?

Gedce
Roberto Matarrita
2018-01-13 19:44:10 UTC
Permalink
Excelente Nicolas, eran las comillas simples, copié el ejemplo y me está
funcionando.

Realmente te agradezco mucho la ayuda, porque estaba muy preocupado por
esto.
Te debo una cerveza. jajajaja

Roberto


El 13 de enero de 2018, 12:39, Nicolás Antinori <
Post by Nicolás Antinori
Creo que no le estas poniendo las comillas simples a la sentencia que
armas, es por eso que *"SELECT * FROM sig_personerias where
ccod_personeria = '1' "* funciona. Fijate de encerrar entre comillas
sql = "select * from sig_personerias where ccod_personeria = \'%s\'" % llave
Saludos!
El 13 de enero de 2018, 15:27, Bruno Tenaglia <
Post by Bruno Tenaglia
Hola. Como andas.
Y en la ultima query que pones, que valo tiene "llave"?
Podes hacer print sql para ver si el string se esta armando bien.
Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente
problema, lo cual me tiene muy desconsertado y no doy porque no me realiza
la consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.
Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.
Tengo un campo en la forma que se llama* txtcod_documento*, este campo
en la tabla se llama *ccod_documento* y tipo *char (4*).
La consulta la realizo de la siguiente forma.
* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*
El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.
* sql = ("SELECT * FROM sig_personerias where ccod_personeria =
'1' ")*
No tengo problema alguno, se trae toda la información. Desconozco el
porque o que estoy haciendo mal, que no se trae la información, cuando
incluyo en campo texto. He utilizado varias formas que he visto en internet
y no me da resultados.
Incluso vi un ejemplo y lo adapte y no funciona.
sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)
Mucho agradeceria su ayuda.
Roberto.
_______________________________________________
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
_______________________________________________
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
--
Nicolás Antinori.
_______________________________________________
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
Roberto Matarrita
2018-01-13 19:39:20 UTC
Permalink
Bruno la llave tiene el valor que le digito en el campo self.txtcod_documento
de la forma. Incluso este campo lo imprimo y me da el valor digitado.
Voy a imprimir el valor del sql que dices a ver que sale.

En otra tabla de otro ejemplo que tengo si me lo hace bien, la única
diferencia es que el campo es numérico y acá es char.

Roberto
Post by Bruno Tenaglia
Hola. Como andas.
Y en la ultima query que pones, que valo tiene "llave"?
Podes hacer print sql para ver si el string se esta armando bien.
Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente
problema, lo cual me tiene muy desconsertado y no doy porque no me realiza
la consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.
Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.
Tengo un campo en la forma que se llama* txtcod_documento*, este campo en
la tabla se llama *ccod_documento* y tipo *char (4*).
La consulta la realizo de la siguiente forma.
* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*
El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.
* sql = ("SELECT * FROM sig_personerias where ccod_personeria =
'1' ")*
No tengo problema alguno, se trae toda la información. Desconozco el
porque o que estoy haciendo mal, que no se trae la información, cuando
incluyo en campo texto. He utilizado varias formas que he visto en internet
y no me da resultados.
Incluso vi un ejemplo y lo adapte y no funciona.
sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)
Mucho agradeceria su ayuda.
Roberto.
_______________________________________________
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
_______________________________________________
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
Roberto Matarrita
2018-01-13 19:45:12 UTC
Permalink
Gracias Bruno por las ayuda, Nicolas me envió una corrección de comillas
simples y ya me funcionó.

sql = "select * from sig_personerias where ccod_personeria = \'%s\'" % llave


Gracias por la ayuda de antemano.

Roberto
Post by Bruno Tenaglia
Hola. Como andas.
Y en la ultima query que pones, que valo tiene "llave"?
Podes hacer print sql para ver si el string se esta armando bien.
Buenas tardes. Necesito de la ayuda de ustedes, con el ,siguiente
problema, lo cual me tiene muy desconsertado y no doy porque no me realiza
la consulta, teniendo este mismo código en otro programa y funciona
correctamente. Una luz a ver si logro saber que esta pasando.
Utilizo Python 3.5. PostegreSQL y PYQT5, para las formas.
Tengo un campo en la forma que se llama* txtcod_documento*, este campo en
la tabla se llama *ccod_documento* y tipo *char (4*).
La consulta la realizo de la siguiente forma.
* sql = ("select * from sig_personerias where ccod_personeria
="+self.txtcod_documento.text())*
El problema es que me dice que el registro no existe, estando este en la
tabla y verificado. Ahora bien si hago la siguiente consulta.
* sql = ("SELECT * FROM sig_personerias where ccod_personeria =
'1' ")*
No tengo problema alguno, se trae toda la información. Desconozco el
porque o que estoy haciendo mal, que no se trae la información, cuando
incluyo en campo texto. He utilizado varias formas que he visto en internet
y no me da resultados.
Incluso vi un ejemplo y lo adapte y no funciona.
sql = ("select * from sig_personerias where ccod_personeria = %s" % llave)
Mucho agradeceria su ayuda.
Roberto.
_______________________________________________
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
_______________________________________________
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
Loading...