Amigos gracias por sus respuestas, de la manera como lo pusiste funciono bien. Muchas gracias.<br><br><div class="gmail_quote">El 26 de marzo de 2012 04:01, Marcos Sánchez Provencio <span dir="ltr"><<a href="mailto:rapto@arrakis.es">rapto@arrakis.es</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hola a todxs<div class="im"><br>
<br>
inser="insert into interfaz values(%s,%s,%s,%s);"
%(nombre,apellido,ci,tlf)<br>
cursor.execute(inser)<br>
<br></div>
debería ser<br>
<br>
inser = "insert into interfaz values(%s,%s,%s,%s)" <br>
params = nombre,apellido,ci,tlf<br>
cursor.execute(inser, params)<br>
<br>
No deberías incrustar nunca los valores de los parámetros como
cadena. Lee el documento <a href="http://www.python.org/dev/peps/pep-0249/" target="_blank">http://www.python.org/dev/peps/pep-0249/</a>
(no sé si está en castellano).<br>
<br>
El 24/03/12 01:29, Jose Angel Rojas Valerio escribió:
<blockquote type="cite"><div><div class="h5">Buenas, tengo el siguiente problema: Tengo un archivo
en py donde cargo la interfaz que diseñe con glade, para extraer
los datos de mysql lo hace bien, pero el problema esta para
insertar, no inserta los datos q le paso, el error creo q esta en
el cursor.execute(), abajo dejo el codigo parra ver si me ayudan y
adjunto la interfaz de glade.<br>
<br>
import gtk<br>
import MySQLdb<br>
validar="abcdefghijklmnopqrstuvwxyz"<br>
db=MySQLdb.connect(host='localhost',user='root',passwd='jarv88',db='prueba_gtk')<br>
cursor=db.cursor()<br>
sql='select * from interfaz'<br>
cursor.execute(sql)<br>
resultado=cursor.fetchall()<br>
<br>
def insertar(nombre,apellido,ci,tlf):<br>
try:<br>
<br>
inser="insert into interfaz values(%s,%s,%s,%s);"
%(nombre,apellido,ci,tlf)<br>
cursor.execute(inser)<br>
db.commit()<br>
return True<br>
except:<br>
print "no se pudo"<br>
return False<br>
def validar_cad(cad):<br>
<br>
if cad.count("1")>=1 or cad.count("2")>=1 or
cad.count("3")>=1 or cad.count("4")>=1 or
cad.count("5")>=1 or cad.count("6")>=1 or
cad.count("7")>=1 or cad.count("8")>=1 or
cad.count("9")>=1:<br>
return False<br>
else:<br>
return True<br>
def validar_num(cad_num):<br>
for c in validar:<br>
if cad_num.count(c)>=1:<br>
<br>
return False<br>
else:<br>
return True<br>
<br>
<br>
class interfaz:<br>
def __init__(self):<br>
builder = gtk.Builder()<br>
builder.add_from_file("interfaz_prueba.glade")<br>
self.principal=builder.get_object('ventana_principal')<br>
self.agregar=builder.get_object('ventana_agregar')<br>
self.invalido=builder.get_object('ventana_invalido')<br>
#self.caja=builder.get_object('caja')<br>
self.caja_nomb=builder.get_object('caja_nomb')<br>
self.caja_apel=builder.get_object('caja_apel')<br>
self.caja_ci=builder.get_object('caja_ci')<br>
self.caja_tlf=builder.get_object('caja_tlf')<br>
self.bAgregar=builder.get_object('Agregar')<br>
self.bLimpiar=builder.get_object('bLimpiar')<br>
self.bGuardar=builder.get_object('bGuardar')<br>
self.lista=builder.get_object('lista')<br>
self.tree=builder.get_object('treeview1')<br>
dict={ "on_Agregar_clicked": self.clickAgregar,<br>
"on_bGuardar_clicked": self.guardar,<br>
"on_Salir_clicked": self.salir,<br>
"on_ventana_principal_destroy": self.salir,<br>
"on_ventana_agregar_delete_event": self.salir1,<br>
"on_ventana_agregar_close": self.salir1,<br>
"on_bLimpiar_clicked": self.limpiar,<br>
#"gtk_widget_hide": self.salir1<br>
}<br>
builder.connect_signals(dict)<br>
#self.lista.append(["jose","rojas","1","2"])<br>
self.a=0<br>
self.b=0<br>
self.c=0<br>
self.d=0<br>
self.principal.set_title("Prueba")<br>
for registro in resultado:<br>
nombre_db=registro[0]<br>
apellido_db=registro[1]<br>
ci_db=registro[2]<br>
tlf_db=registro[3]<br>
self.lista.append([nombre_db,apellido_db,ci_db,tlf_db])<br>
def clickAgregar(self, widget):<br>
#self.principal.destroy()<br>
self.a=0<br>
self.b=0<br>
self.c=0<br>
self.d=0<br>
self.limpiar(self.agregar)<br>
#self.__init__()<br>
#self.agregar.<br>
self.agregar.run()<br>
#self.agregar.hide()<br>
#self.limpiar(self.agregar)<br>
#self.agregar.hide()<br>
#self.lista.append(["jose","rojas","1","2"])<br>
#self.principal.hide()<br>
def limpiar(self,widget):<br>
#self.agregar.delete_event()<br>
#self.agregar.hide()<br>
self.caja_nomb.set_text("")<br>
self.caja_apel.set_text("")<br>
self.caja_ci.set_text("")<br>
self.caja_tlf.set_text("")<br>
self.caja_nomb.grab_focus()<br>
def guardar(self,widget):<br>
nombre=self.caja_nomb.get_text()<br>
apellido=self.caja_apel.get_text()<br>
ci=self.caja_ci.get_text()<br>
tlf=self.caja_tlf.get_text()<br>
#if nombre.count("1")>=1 or nombre.count("2")>=1 or
nombre.count("3")>=1 or nombre.count("4")>=1 or
nombre.count("5")>=1 or nombre.count("6")>=1 or
nombre.count("7")>=1 or nombre.count("8")>=1 or
nombre.count("9")>=1:<br>
# self.caja_nomb.grab_focus()<br>
# self.caja_nomb.set_text("")<br>
# #self.invalido.run()<br>
# #self.invalido.hide()<br>
#else:<br>
#nombre=self.caja_nomb.get_text()<br>
# self.a=1<br>
if validar_cad(nombre):<br>
self.a=1<br>
else:<br>
self.caja_nomb.grab_focus()<br>
self.caja_nomb.set_text("")<br>
if validar_cad(apellido):<br>
self.b=1<br>
else:<br>
self.caja_apel.grab_focus()<br>
self.caja_apel.set_text("")<br>
<br>
#for c in validar:<br>
# if ci.count(c)>=1:<br>
# self.caja_ci.grab_focus()<br>
# self.caja_ci.set_text("")<br>
#self.invalido.run()<br>
#self.invalido.hide()<br>
# break<br>
#else:<br>
# self.c=1<br>
if validar_num(ci):<br>
self.c=1<br>
else:<br>
self.caja_ci.grab_focus()<br>
self.caja_ci.set_text("")<br>
if validar_num(tlf):<br>
self.d=1<br>
else:<br>
self.caja_tlf.grab_focus()<br>
self.caja_tlf.set_text("")<br>
<br>
if self.a==0 or self.b==0 or self.c==0 or self.d==0:<br>
self.invalido.run()<br>
self.invalido.hide()<br>
<br>
if self.a==1 and self.b==1 and self.c==1 and self.d==1:<br>
#if insertar(nombre,apellido,ci,tlf):<br>
# self.lista.append([nombre,apellido,ci,tlf])<br>
#else:<br>
# print "no"<br>
try:<br>
#db=MySQLdb.connect(host='localhost',user='root',passwd='jarv88',db='prueba_gtk')<br>
#c=db.cursor()<br>
inser="insert into interfaz values(%s,%s,%s,%s);"
%(nombre,apellido,ci,tlf)<br>
#self.insert="insert into interfaz
values("+nombre+","+apellido+","+ci+","+tlf+");"<br>
cursor.execute(inser)<br>
self.lista.append([nombre,apellido,ci,tlf])<br>
db.commit()<br>
except:<br>
print "no se pudo"<br>
#self.lista.append([nombre,apellido,ci,tlf])<br>
#self.limpiar(self.agregar)<br>
#self.agregar.hide()<br>
<br>
def salir(self,widget):<br>
gtk.main_quit()<br>
#self.principal.show()<br>
def salir1(self,widget,hide):<br>
self.agregar.hide()<br>
<br>
if __name__ == "__main__":<br>
interfaz()<br>
gtk.main()<br>
<br>
<br>
De antemano gracias por la ayuda q me puedan brindar.<br>
<br>
<fieldset></fieldset>
<br>
</div></div><div class="im"><pre>_______________________________________________
Python-es mailing list
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a>
</pre>
</div></blockquote>
<br>
</div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br>