Ayuda para insertar datos MySQL
dmunhiz
dmunhiz en gmail.com
Lun Sep 10 22:12:39 CEST 2007
Prueba en lugar de
con.commit()
con:
db.commit()
Remitente:
Daniel Muñiz Fontoira
Eu uso software libre [1]
[1]http://www.gnu.org/philosophy/free-sw.gl.html
Manuel Enrique González Ramírez escribiu:
> Hola amigos,
>
> Tengo una ventana en wx y una conexion a MySQL el problema es que no sé como
> hacer para que los datos de los textos (codigo, nombre y edad) me los
> reconozca la sentencia execute. Les pongo el código y si alguien me puede
> ayudar de una vez muchas gracias.
> P.D. He hecho de todo, cambiando comillas; separando código de la consulta,
> etc.
> # -*- coding: cp1252 -*-
> #!/usr/bin/python
>
> import wx
> import MySQLdb as my
>
> class InsertData(wx.Frame):
> def __init__(self, parent, id, title):
> wx.Frame.__init__(self, parent, id, title, size=(280, 200))
>
> panel = wx.Panel(self, -1)
>
> gs = wx.FlexGridSizer(3, 2, 9, 9)
> vbox = wx.BoxSizer(wx.VERTICAL)
> hbox = wx.BoxSizer(wx.HORIZONTAL)
>
> codigo = wx.StaticText(panel, -1, 'Codigo')
> nombre = wx.StaticText(panel, -1, 'Nombre')
> edad = wx.StaticText(panel, -1, 'Edad')
> self.sp = wx.SpinCtrl(panel, -1, '', size=(60, -1), min=1, max=100)
> self.tc1 = wx.TextCtrl(panel, -1, size=(150, -1))
> self.tc2 = wx.TextCtrl(panel, -1, size=(150, -1))
>
> gs.AddMany([(codigo), (self.tc1, 1, wx.LEFT, 10),
> (nombre), (self.tc2, 1, wx.LEFT, 10),
> (edad), (self.sp, 0, wx.LEFT, 10)])
>
> vbox.Add(gs, 0, wx.ALL, 10)
> vbox.Add((-1, 30))
>
> insertar = wx.Button(panel, -1, 'Insertar', size=(-1, 30))
> cancelar = wx.Button(panel, -1, 'Cancelar', size=(-1, 30))
> hbox.Add(insertar)
> hbox.Add(cancelar, 0, wx.LEFT, 5)
> vbox.Add(hbox, 0, wx.ALIGN_CENTER | wx.BOTTOM, 10)
>
> self.Bind(wx.EVT_BUTTON, self.OnInsert, id=insertar.GetId())
> self.Bind(wx.EVT_BUTTON, self.OnCancel, id=cancelar.GetId())
>
> panel.SetSizer(vbox)
>
> self.Centre()
> self.Show(True)
>
> def OnInsert(self, event):
> try:
> db = my.connect
> (host='localhost',user='root',passwd='12345678',db='ejemplo')
> cursor = db.cursor()
>
> codigo = self.tc1.GetValue()
> nombre = self.sp.GetValue()
> edad = self.tc2.GetValue()
>
> cursor.execute("insert into datos values('%d','%s','%d')" %
> (codigo,nombre,edad))
>
> #resultado=cursor.fetchall()
> con.commit()
> cur.close()
> con.close()
>
> except my.Error, error:
> dlg = wx.MessageDialog(self, str(error), 'Ocurrio un error :(')
> dlg.ShowModal()
>
> def OnCancel(self, event):
> self.Close()
>
>
>
> app = wx.App()
> InsertData(None, -1, 'INGRESAR DATOS')
> app.MainLoop()
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
Más información sobre la lista de distribución Python-es