Foros del Web » Programando para Internet » Python »

wxpython y base de datos asesoria porfavor

Estas en el tema de wxpython y base de datos asesoria porfavor en el foro de Python en Foros del Web. Hola, comunidad de Forosdelweb les envio un saludos, soy un novato en python y bueno cada dia aprendiendo mas, mi duda es la siguiente tengo ...
  #1 (permalink)  
Antiguo 23/05/2011, 17:41
Avatar de bosterkill  
Fecha de Ingreso: mayo-2011
Mensajes: 56
Antigüedad: 13 años, 6 meses
Puntos: 0
wxpython y base de datos asesoria porfavor

Hola, comunidad de Forosdelweb les envio un saludos, soy un novato en python y bueno cada dia aprendiendo mas, mi duda es la siguiente tengo un codigo de un formulario, pero como conecto una base de datos para que esta recoja la informacion que yo le suministro???

aca esta el codigo de lo que tengo hasta ahora

Código Python:
Ver original
  1. import wx
  2. class App(wx.App):
  3.     def OnInit(self):
  4.         self.ventana = wx.Frame(parent = None, title = u'Censo de Personas Consejo Comunal', size = (600,400), pos = (320,150))
  5.         panel = wx.Panel(self.ventana, -1)
  6.         datos = wx.StaticText(panel, -1, u'Datos Personales: ', pos = (200,0))
  7.         nombre = wx.StaticText(panel, -1, u'Nombre: ', pos = (20,20))
  8.         cuadro_nombre = wx.TextCtrl(panel, -1, '', pos = (90 , 20), size = (150,-1))
  9.         apellido = wx.StaticText(panel, -1, u'Apellido: ', pos = (20,50))
  10.         self.cuadro_apellido = wx.TextCtrl(panel, -1, '', pos = (90, 50), size = (150,-1))
  11.         sexo = wx.StaticText(panel, -1, u'Sexo: ', pos = (20, 80))
  12.         sexolista = [u'F', u'M']
  13.         cuadro_sexo = wx.ComboBox(panel, -1, '', (90 , 80), (150,-1), sexolista, wx.CB_DROPDOWN)
  14.         cedula = wx.StaticText(panel, -1, u'Cedúla: ', pos = (20,110))
  15.         cuadro_cedula = wx.TextCtrl(panel, -1, '', pos = (90 , 110), size = (150,-1))
  16.         telefono = wx.StaticText(panel, -1, u'Telefono: ', pos = (20,140))
  17.         cuadro_telefono = wx.TextCtrl(panel, -1, '', pos = (90 , 140), size = (150,-1))
  18.         celular = wx.StaticText(panel, -1, u'Núm Celular: ', pos = (20,170))
  19.         cuadro_celular = wx.TextCtrl(panel, -1, '', pos = (90 , 170), size = (150,-1))
  20.         direccion = wx.StaticText(panel, -1, u'Dirección: ', pos = (20,200))
  21.         cuadro_direccion = wx.TextCtrl(panel, -1, '', pos = (90, 200), size = (150,80), style = wx.TE_MULTILINE)
  22.         edad = wx.StaticText (panel, -1, u'Edad: ', pos = (300,20))
  23.         cuadro_edad = wx.SpinCtrl(panel, -1, pos = (340,20))
  24.         cuadro_edad.SetRange(0,110)
  25.         fecha_nacimiento = wx.StaticText(panel, -1, u'Fecha de N.: ', pos = (300,50))
  26.         cuadro_fnacimiento = wx.DatePickerCtrl(panel, -1, pos = (380,50), size = (150,-1))
  27.         boton_aceptar = wx.Button(panel, -1, u'Guardar Datos', pos = (200,300))
  28.         boton_cerrar = wx.Button(panel, -1, u'Cerrar', pos = (330,300))
  29.         self.Bind(wx.EVT_BUTTON, self.OnSalir, boton_cerrar)
  30.         self.Bind(wx.EVT_BUTTON, self.OnGuardar, boton_aceptar)
  31.         self.ventana.Show()
  32.         return True
  33.    
  34.     def OnSalir(self, evt):
  35.         self.ventana.Close()
  36.                
  37.     def OnGuardar(self, evt):
  38.         ingresoapellido = self.cuadro_apellido.GetValue()
  39.         dialogo = wx.MessageDialog(self.ventana, u'Estimado/a %s, sus datos fueron guardados' % (ingresoapellido), u'Información', wx.OK | wx.ICON_INFORMATION)
  40.         dialogo.ShowModal()
  41.         dialogo.Destroy()
  42.        
  43. aplicacion = App()
  44. aplicacion.MainLoop()



que me recomiendan???

gracias por leer
  #2 (permalink)  
Antiguo 23/05/2011, 19:07
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: wxpython y base de datos asesoria porfavor

La conexión a la base y la obtención de los datos es igual tengas o no tengas wxpython. Tendrás que tener la base y usar el módulo correspondiente. Dinos qué base usás y te podremos dar alguna documentación.

Una vez tengas los datos, simplemente vas dando setText() (o como se llame el método para darle un valor a un campo) a los campos de tu ventana con cada dato traído de la BBDD


Saludos.
  #3 (permalink)  
Antiguo 24/05/2011, 08:13
Avatar de bosterkill  
Fecha de Ingreso: mayo-2011
Mensajes: 56
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: wxpython y base de datos asesoria porfavor

Hola señor muchas gracoas por responderme de verdad, bueno base de datos como tal no tengo todavia ya que esperaba que me recomendaran alguna, pero he pensado en una base de datos interna y sqlite3 creo que seria senciall, lo que me enreda es que no se utilizar bases de datos y por lo tanto no sabria como hacer para que el formulario al llenarlo con datos este lo guarde en la base de datos
  #4 (permalink)  
Antiguo 24/05/2011, 10:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: wxpython y base de datos asesoria porfavor

Si se trata de SQLite puedes empezar por aquí.
  #5 (permalink)  
Antiguo 25/05/2011, 10:23
Avatar de bosterkill  
Fecha de Ingreso: mayo-2011
Mensajes: 56
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: wxpython y base de datos asesoria porfavor

hola chicos, ya logre crear la interacción del formulario con la base de datos, pero todavia me faltan ciertas cosas ando en las nubes desorientado alguien me podria pasar un manual? o ejemplos
  #6 (permalink)  
Antiguo 25/05/2011, 13:17
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: wxpython y base de datos asesoria porfavor

¿Qué son las "ciertas cosas"?
  #7 (permalink)  
Antiguo 25/05/2011, 13:30
Avatar de bosterkill  
Fecha de Ingreso: mayo-2011
Mensajes: 56
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: wxpython y base de datos asesoria porfavor

por ejemplo, mi idea principal es como hacer consultas a la base de dato por ejemplo ayer logre creer el archivo de base de datos asi

Código Python:
Ver original
  1. bd = dbapi.connect("formulario.dat")
  2.         cursor = bd.cursor()
  3.         cursor.execute("""create table if not exists D_Personal (cuadro_nombre txt, cuadro_apellido txt, cuadro_sexo txt, cuadro_cedula, cuadro_telefono txt, cuadro_celular txt, cuadro_direccion txt)""")
  4.         bd.commit()
  5.         self.cuadro_nombre.Clear()
  6.         self.cuadro_apellido.Clear()
  7.         self.cuadro_cedula.Clear()
  8.         self.cuadro_telefono.Clear()
  9.         self.cuadro_celular.Clear()
  10.         self.cuadro_direccion.Clear()
  11.         cursor.close()
  12.         bd.close()

claro ando todavia modificando los clear para que cuando guarde los datos limpien cada wx.TextCtrl, quisiera hacer otra ventana con un boton buscar y hacer consultas de datos ya guardados, Todavia NO LO SE hacer esa es una de mis dudas..

otra seria como desde un modulo llamar a otra ventana, me explico desde ese formulario llamar a otra ventana o otro cuadro tampoco lo se hacer, quizas sean cosas minimas pero como soy bastante novato pues se me van da las manos sin decir que no he conseguido mucho material en la web recurro con mi esperanza en ustedes...
  #8 (permalink)  
Antiguo 27/05/2011, 14:51
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: wxpython y base de datos asesoria porfavor

Por cierto al menos separa tu código en clases.
Código Python:
Ver original
  1. import wx
  2.  
  3. class MyFrame(wx.Frame):
  4.     def __init__(self, *args, **kwargs):
  5.         wx.Frame.__init__(self, *args, **kwargs)
  6.         MyPanel(self)
  7.        
  8. class MyPanel(wx.Panel):
  9.     def __init__(self, *args, **kwargs):
  10.         wx.Panel.__init__(self, *args, **kwargs)
  11.        
  12.         datos = wx.StaticText(self, -1, u'Datos Personales: ', pos = (200,0))
  13.         nombre = wx.StaticText(self, -1, u'Nombre: ', pos = (20,20))
  14.         cuadro_nombre = wx.TextCtrl(self, -1, '', pos = (90 , 20), size = (150,-1))
  15.         apellido = wx.StaticText(self, -1, u'Apellido: ', pos = (20,50))
  16.         self.cuadro_apellido = wx.TextCtrl(self, -1, '', pos = (90, 50), size = (150,-1))
  17.         sexo = wx.StaticText(self, -1, u'Sexo: ', pos = (20, 80))
  18.         sexolista = [u'F', u'M']
  19.         cuadro_sexo = wx.ComboBox(self, -1, '', (90 , 80), (150,-1), sexolista, wx.CB_DROPDOWN)
  20.         cedula = wx.StaticText(self, -1, u'Cedúla: ', pos = (20,110))
  21.         cuadro_cedula = wx.TextCtrl(self, -1, '', pos = (90 , 110), size = (150,-1))
  22.         telefono = wx.StaticText(self, -1, u'Telefono: ', pos = (20,140))
  23.         cuadro_telefono = wx.TextCtrl(self, -1, '', pos = (90 , 140), size = (150,-1))
  24.         celular = wx.StaticText(self, -1, u'Núm Celular: ', pos = (20,170))
  25.         cuadro_celular = wx.TextCtrl(self, -1, '', pos = (90 , 170), size = (150,-1))
  26.         direccion = wx.StaticText(self, -1, u'Dirección: ', pos = (20,200))
  27.         cuadro_direccion = wx.TextCtrl(self, -1, '', pos = (90, 200), size = (150,80), style = wx.TE_MULTILINE)
  28.         edad = wx.StaticText (self, -1, u'Edad: ', pos = (300,20))
  29.         cuadro_edad = wx.SpinCtrl(self, -1, pos = (340,20))
  30.         cuadro_edad.SetRange(0,110)
  31.         fecha_nacimiento = wx.StaticText(self, -1, u'Fecha de N.: ', pos = (300,50))
  32.         cuadro_fnacimiento = wx.DatePickerCtrl(self, -1, pos = (380,50), size = (150,-1))
  33.         boton_aceptar = wx.Button(self, -1, u'Guardar Datos', pos = (200,300))
  34.         boton_cerrar = wx.Button(self, -1, u'Cerrar', pos = (330,300))
  35.        
  36.         boton_cerrar.Bind(wx.EVT_BUTTON, self.OnSalir)
  37.         boton_aceptar.Bind(wx.EVT_BUTTON, self.OnGuardar)
  38.        
  39.     def OnSalir(self, evt):
  40.         self.Parent.Close()
  41.    
  42.     def OnGuardar(self, evt):
  43.         ingresoapellido = self.cuadro_apellido.GetValue()
  44.         dialogo = wx.MessageDialog(self, u'Estimado/a %s, sus datos fueron guardados' % (ingresoapellido), u'Información', wx.OK | wx.ICON_INFORMATION)
  45.         dialogo.ShowModal()
  46.         dialogo.Destroy()
  47.        
  48. class App(wx.App):
  49.     def OnInit(self):
  50.         f = MyFrame(parent = None, title = u'Censo de Personas Consejo Comunal', size = (600,400), pos = (320,150))
  51.         f.Show()
  52.         return True
  53.  
  54. aplicacion = App(0)
  55. aplicacion.MainLoop()

Etiquetas: wxpython, bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.