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