Problemas con None,MySQL
Javier González
jgonzalez en grupopitaco.com
Vie Sep 19 08:26:25 CEST 2008
La consulta sql es erronea, te faltan las comillas en la comparacion de la
clausula where y el signo de tanto porciento para el formateo de la cadena,
quedaria asi:
sql = c.execute("SELECT * FROM oficina WHERE doc='%s' ",%doc)
res = c.fetchall()
----- Original Message -----
From: "Manuel Enrique González Ramírez" <maengora en gmail.com>
To: "Lista de discusión sobre python en castellano" <python-es en aditel.org>
Sent: Friday, September 19, 2008 12:05 AM
Subject: [Python-es] Problemas con None,MySQL
Hola a tod en s.
He creado un form, su respectiva tabla en MySQL y he creado una funcion que
verifica si ya existe o no el documento de identidad ingresado en el form.
Como apenas estoy ingresando información "se supone que el documento de
identidad NO EXISTE todavía" y que según el código (como no existe) debe
activar el foco en otro control.
Este es el código del dicha función:
def va_fpose(self,event): #init function
#add your code here
key = event.GetKeyCode()
if key==9 or key==13 or key==wx.WXK_NUMPAD_ENTER:
doc = self.txt_doc.GetValue()
sql = c.execute('SELECT * FROM oficina WHERE doc=%s',(doc))
res = c.fetchall()
if res<>None:
w = wx.MessageDialog(self,u"Este registro ya
existe!!","REGISTRO HALLADO",wx.OK | wx.ICON_EXCLAMATION )
w.ShowModal()
w.Centre()
w.Destroy()
for i in res:
self.txt_id.SetLabel(str(i[0]))
self.dp_fsistema.SetValue(str(i[1]))
self.txt_noficina.SetLabel(str(i[2]))
self.txt_nit.SetLabel(str(i[3]))
self.txt_njefe.SetLabel(str(i[4]))
self.txt_ajefe.SetLabel(str(i[5]))
self.txt_doc.SetLabel(str(i[6]))
self.dp_posesion.SetValue(str(i[7]))
self.txt_direccion.SetLabel(str(i[8]))
self.txt_telefono.SetLabel(str(i[9]))
self.txt_mail.SetLabel(str(i[10]))
self.txt_slogan.SetLabel(str(i[11]))
self.txt_noficina.SetFocus()
self.bt_guardar.Enable(False)
self.bt_actualizar.Enable(True)
self.bt_eliminar.Enable(True)
else:
self.dp_posesion.SetFocus()
event.Skip()
return #end function
Cuál es el problema????: pues que resulta que normalmente el *if
res<>None:*me ha funcionado en otros proyectos pero parece ser que
aquí no, ya que
aunque esté vacía la tabla ingresa a la condición mostrandome el mensaje de
registro hallado.
También he intentado con *if res==NULL, if res==' '* y ninguna de estas
opciones me ha servido.
Cómo sé que me lo van a preguntar.... utilizo como GUI VisualWx, y por
supuesto las wx.
Gracias.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
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