Ayuda para insertar datos MySQL

Juan José Rojo jjrojoc en hotmail.com
Mar Sep 11 00:48:10 CEST 2007


cursor.execute('insert into datos (codigo, nombre, edad) values (%s, %s, 
%s)', (codigo, nombre, edad))

>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] Ayuda para insertar datos MySQL
>Date: Mon, 10 Sep 2007 14:37:11 -0500
>
>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

_________________________________________________________________
Horóscopo, tarot, numerología... Escucha lo que te dicen los astros. 
http://astrocentro.msn.es/




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