Python - No inserta datos Python Mysql

 
Vista:

No inserta datos Python Mysql

Publicado por juan pablo torres (2 intervenciones) el 03/09/2007 21:09:09
Prepare un script en python para grabar en una tabla en Mysql, que me reporta lo q grabo pero al consultarlo en la linea de comando de mysql dice q esta vacia la tabla y tambien me informa q esta vacia cuando corro otro script que lee lo q grabe, instale: Python 2.5.1, Wxpython 2.8.4.2_y_p25, Mysql 5.1, Mysql -python1.2.2win32_py2.5
que me falto? anexo el script.

import wx
import MySQLdb

from wxPython.wx import *

class CreaTablaFoliosClientes(wx.Frame):

def __init__(self, parent, id, title,
pos=wx.DefaultPosition,
size=wx.DefaultSize,
style=wx.DEFAULT_FRAME_STYLE):

wx.Frame.__init__(self, parent, id, title, pos, size, style)
coleti=wx.Colour(234,255,244)
coltip=wx.Colour(255,239,191)

conn = MySQLdb.connect ( host = "localhost",
user = "root",
passwd = "toolsoft",
db = "puntodeventa")

cursor = conn.cursor ()

cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]

cursor.execute ("DROP TABLE IF EXISTS tablas")
print "borre tablas"

cursor.execute ("CREATE TABLE tablas ( nom CHAR(15),val CHAR(20) ) ")
print "cree tablas"

cursor.execute ("INSERT INTO tablas (nom, val) VALUES ('foliosotro', '1')")
print "inserte foliosotros"

while (1):
row = cursor.fetchone ()
if row == None:
break
print "%s, %s" % (row[0], row[1])

print "Number of rows returned: %d" % cursor.rowcount

cursor.close ()
conn.close ()

class Miaplicacion(wx.App):
def OnInit(self):
f = CreaTablaFoliosClientes(None, -1, "Probando CreaTablaFoliosClientes")
f.SetBackgroundColour(wxColour(245, 241, 223))
f.Show()
return True

app = Miaplicacion()
app.MainLoop()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No inserta datos Python Mysql

Publicado por Raúl (1 intervención) el 30/09/2007 21:15:44
Hola:

Una posible solución a tu problema puede ser agregar la siguiente linea despues de cada consulta que realices a la base de datos ( cursor.execute() ):

conn.commit()

Esto envía la consulta a la base de datos, asegurando que se grabe en ella los datos que ingreses.

Espero que te ayude en algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar