Foros del Web » Programando para Internet » Python »

Problema al introducir datos con sqlite3

Estas en el tema de Problema al introducir datos con sqlite3 en el foro de Python en Foros del Web. Sólo me va bien si los datos que meto son números, si meto algún carácter me sale el error: Exception in Tkinter callback Traceback (most ...
  #1 (permalink)  
Antiguo 23/05/2010, 12:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Problema al introducir datos con sqlite3

Sólo me va bien si los datos que meto son números, si meto algún carácter me sale el error:

Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "/home/ander/workspace/pruebaBD/src/pruebaBDdarsealtaInterface.py", line 135, in meterBBDD
c.execute('insert into usuarios values('+dni_in+','+nombre_in+','+apellidos_in+',' +nickname_in+','+contrasena_in+')')
OperationalError: no such column: xxxxx



Porqué pasa esto ? los campos de la tabla los tengo declarados como TEXT.
Aquí el código, en las variables que acaban en *_in voy recogiendo los datos que meto en
cajas de texto, si son números se meten bien pero en el momento en el que meto caracteres casca. Muchas gracias de antemano:



bbdd = dbapi2.connect("bbdd.dat")
c = bbdd.cursor()

c.execute('insert into usuarios values('+dni_in+','+nombre_in+','+apellidos_in+',' +nickname_in+','+contrasena_in+')')

bbdd.commit()

c.close()
bbdd.close()
  #2 (permalink)  
Antiguo 23/05/2010, 12:34
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Problema al introducir datos con sqlite3

Podemos ver el modelo de tu tabla?, al parecer estas intentando meter mas valores de los que puedes.

Ademas en que columna te marca error?
OperationalError: no such column: xxxxx
  #3 (permalink)  
Antiguo 23/05/2010, 14:00
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema al introducir datos con sqlite3

Aquí creo la tabla:

import sqlite3 as dbapi2

bbdd = dbapi2.connect("bbdd.dat")
c = bbdd.cursor()

c.execute("""create table usuarios (dni PRIMARY KEY,
nombre TEXT,
apellidos TEXT,
nombreUsuario TEXT,
contrasena TEXT)""")
bbdd.commit()




y en otro módulo lo que he puesto arriba.

Lo que me aparece en OperationalError: no such column: xxxxx , es decir las 'xxxxx' es la cadena que introduzco, por ejemplo si en la caja de texto para el nombre pongo 'pepe' me saldría..

OperationalError: no such column: pepe

Sin embargo, si meto números me hace bien la insert.
  #4 (permalink)  
Antiguo 23/05/2010, 15:14
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema al introducir datos con sqlite3

Ya me funciona con el sgute. codigo, muchas gracias de todas formas!

bbdd = dbapi2.connect("bbdd.dat")
c = bbdd.cursor()


c.execute('insert into usuarios values("'+dni_in+'","'+str(nombre_in)+'","'+str(ap ellidos_in)+'","'+str(nickname_in)+'","'+str(contr asena_in)+'")')



bbdd.commit()

c.close()
bbdd.close()

Etiquetas: introducir, sqlite
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:29.