Sigue el error MySQL

Juan José Rojo jjrojoc en hotmail.com
Mie Sep 12 11:52:09 CEST 2007


Perdón, si funciona con el campo edad en la base de datos como int, no lo 
había probado.

>From: Juan José Rojo <jjrojoc en hotmail.com>
>Reply-To: La lista de python en castellano <python-es en aditel.org>
>To: python-es en aditel.org
>Subject: RE: [Python-es] Sigue el error MySQL
>Date: Wed, 12 Sep 2007 07:40:23 +0000
>
>
>Aquí tienes el código funcionando, aunque tuve que poner el campo del spin 
>en la base de datos como varchar porque me pedía también lo del int, si 
>alguien sabe como arreglar eso, sería lo único que te falta.
>
># -*- 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='',db='ejemplo')
>            cursor = db.cursor()
>
>            codigo = self.tc1.GetValue()
>            nombre = self.tc2.GetValue()
>            edad = self.sp.GetValue()
>            print codigo, nombre, edad
>
>            cursor.execute('insert into datos (codigo, nombre, edad) values 
>(%s, %s, %s)', (codigo, nombre, edad))
>
>            #resultado=cursor.fetchall()
>            db.commit()
>            cursor.close()
>            db.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()
>
>>From: "Manuel Enrique González Ramírez" <maengora en gmail.com>
>>Reply-To: La lista de python en castellano <python-es en aditel.org>
>>To: python-es en aditel.org
>>Subject: [Python-es] Sigue el error MySQL
>>Date: Tue, 11 Sep 2007 18:52:06 -0500
>>
>>Continua el error al tratar de hacer la conexion.
>>Este es el mensaje que me aparece:
>>Traceback (most recent call last):
>>   File "C:\Python25\ejms\dbconecta.py", line 51, in OnInsert
>>     cursor.execute('insert into datos values(%d,%s,%d)' %
>>(codigo,nombre,edad))
>>TypeError: int argument required
>>
>>Y ya he volteado con los %d de todas las formas posibles.
>>_______________________________________________
>>Python-es mailing list
>>Python-es en aditel.org
>>http://listas.aditel.org/listinfo/python-es
>
>_________________________________________________________________
>Descarga gratis la Barra de Herramientas de MSN 
>http://www.msn.es/usuario/busqueda/barra?XAPID=2031&DI=1055&SU=http%3A//www.hotmail.com&HL=LINKTAG1OPENINGTEXT_MSNBH
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es

_________________________________________________________________
Dale rienda suelta a tu tiempo libre. Mil ideas para exprimir tu ocio con 
MSN Entretenimiento. http://entretenimiento.msn.es/




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