Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2014, 22:39
Avatar de dcaraballo
dcaraballo
 
Fecha de Ingreso: abril-2013
Ubicación: San José
Mensajes: 13
Antigüedad: 11 años, 1 mes
Puntos: 2
Exclamación Problema al insertar datos en sqlite3

Buenas noches gente, estuve buscando en la web y no puedo dar con el problema, recién estoy empezando con bases de datos y ando medio perdido.

Al parecer el error está cuando paso la tupla en el ciclo for

Espero puedan ayudarme

Cree una tabla en sqlite3:

Código Python:
Ver original
  1. # TABLA YA CREADA
  2. #cursor.execute("""CREATE TABLE incripciones (ID INTEGER PRIMARY KEY, nombre TEXT, apellido TEXT, edad INTEGER, ciudad TEXT, telefono TEXT)""")

Luego cree una función para insertar datos a través del usuario:

Código Python:
Ver original
  1. def agregaDatos():
  2.     print "Inscripciones..."
  3.     print ""
  4.     nombre = raw_input("Nombre: ")
  5.     apellido = raw_input ("Apellido: ")
  6.     edad = input("Edad: ")
  7.     ciudad = raw_input("Ciudad: ")
  8.     telefono = raw_input("Telefono: ")
  9.    
  10.     datos = (nombre, apellido, edad, ciudad, telefono)
  11.    
  12.     for t in datos:
  13.         cursor.execute("INSERT INTO incripciones (nombre, apellido, edad, ciudad, telefono) VALUES (?,?,?,?,?)", (t))
  14.  
  15.         connection.commit()
  16.    
  17.     print ""
  18.     print "Datos ingresados correctamente..."
  19.     print ""
  20.    
  21.     connection.close()

El error es el siguiente:

Nombre: Diego
Apellido: Perez
Edad: 30
Ciudad: San Jose
Telefono: 5878785
Traceback (most recent call last):
File "BaseDeDatos.py", line 42, in <module>
main()
File "BaseDeDatos.py", line 37, in main
agregaDatos()
File "BaseDeDatos.py", line 24, in agregaDatos
cursor.execute("INSERT INTO incripciones (nombre, apellido, edad, ciudad, telefono) VALUES (?,?,?,?,?)", (t))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 5, and there are 4 supplied.

Saludos