Se repite la consulta MySQL

Juan Pablo Cisneros atlasoftcorp en yahoo.com.ar
Dom Nov 4 04:24:35 CET 2007


Juan José Rojo wrote:
> ----------------------------------------> Date: Sat, 3 Nov 2007 17:38:20 -0500> From: maengora en gmail.com> To: python-es en aditel.org> Subject: [Python-es] Se repite la consulta MySQL>> Hola, me estoy volviendo loco con estos combobox pero bueno, la idea es> aprender.>> Ahora mi inquietud es la siguiente:> Solucionado los anteriores inconvenientes descubri que en cada combo debo> definir la consulta y no dejar algunos> datos como variables globales, me explico, me refiero a donde tu defines> como te conectas....> db = my.connect> (host='localhost',user='root',passwd='******',db='inventario')> cursor = db.cursor()> Me funciono colocandolo en cada evento (recuerden que estoy trabajando con> VisualWx)>> Pero al solucionar una cosa se me desbarata otra...>> Resulta que cuando doy clic por primera vez en el combo (por ejemplo origen)> me aparece la consulta en el combo> que son 4 ciudades (ANSERMA, PEREIRA, RIOSUCION, VITERBO), pero cuando le> vuelvo a dar clic en el mismo> combo, sin cerrar el formulario o si me equivoque al seleccionar una de las> ciudades y vuelvo inmediatamente a> dar clic sobre el combo, SE ME REPITE LA LISTA de elementos del combo.> Ejemplo.> Clic por primera vez me muestra.> ANSERMA> PEREIRA> RIOSUCIO> VITERBO>> Clic por segunda vez consecutiva> ANSERMA> PEREIRA> RIOSUCIO> VITERBO> ANSERMA> PEREIRA> RIOSUCIO> VITERBO>> Necesito que solo se conserve los campos que realmente son, sin que se me> repita la lista cada vez que se> de clic consecutivamente.>> Aqui esta parte del codigo.....> def ver_origen(self,event): #init function> #[596]Code event VwX...Don't modify[596]#> #add your code here> db = my.connect> (host='localhost',user='root',passwd='*******',db='inventario')> cursor = db.cursor()> cursor.execute('SELECT ciudad FROM lugares ORDER BY ciudad asc')>> res = cursor.fetchall()>> for reg in res:> self.cmb_origen.Append(reg[0])>> db.commit()> db.close()> return #end function>>>>> Gracias> _______________________________________________> Lista de correo Python-es> http://listas.aditel.org/listinfo/python-es> FAQ: http://listas.aditel.org/faqpyes
>
>
> Todo ese código debería estar fuera de la función, ya que parece que se ejecuta esa función cada vez que pinchas, solamente se debería cargar una vez al iniciar el programa.
>   
No soy un experto, pero si los datos que tenes que cargar varian "de un 
click a otro", podes chequear si ya está en la lista de la CB; de 
estarlo, no lo agregas, si no, no..
O bien borras todos los elementos del CB antes de cargar los nuevos...
repito: NO soy un experto, debe haber mejores formas...

Suerte !

_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es