elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Insertar variables en SQLITE3 Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Insertar variables en SQLITE3 Python  (Leído 6,034 veces)
CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Insertar variables en SQLITE3 Python
« en: 12 Septiembre 2010, 16:56 pm »


   Buenas,


  Estoy aprendiendo a crear bases de datos usando Python y tengo un problema, a la hora de meter una variable como dato me da un error y todos los ejemplos que veo, o dan una string directa ... 'loquesea' , o meten una tupla.

  Lo que quiero es meter una variable que contenga el dato insertado por el user, de un raw_input().

 el código:

Código:
import sqlite3 as dbapi
bbdd = dbapi.connect("bbdd.dat")
c = bbdd.cursor()

c.execute("""create table personas (
             nombre text,
             apellido text,
             fecha text,
             localidad text)""")

quien = raw_input("Nombre: ")
secname = raw_input("Apellidos: ")
cuando = raw_input("Fecha de nacimiento: ")
lugar = raw_input("Localidad: ")

c.execute("""insert into personas
             values (quien, secname, cuando, lugar)""")


Y el error :   values (quien, secname, cuando, lugar)""")
OperationalError: no such column: quien


 Dice que ninguna columna : quien, pero se supone que ahí va el dato para la columna  :-\


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Insertar variables en SQLITE3 Python
« Respuesta #1 en: 12 Septiembre 2010, 18:35 pm »

Cambia la siguiente linea,
Código
  1. c.execute("""insert into personas
  2.             values (quien, secname, cuando, lugar)""")
por,
Código
  1. c.execute("INSERT INTO personas VALUES ('" + quien + "', '"  + secname + "', '" + cuando + "', '" + lugar + "')")


« Última modificación: 12 Septiembre 2010, 18:37 pm por Shell Root » En línea

Te vendería mi talento por poder dormir tranquilo.
CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Insertar variables en SQLITE3 Python
« Respuesta #2 en: 12 Septiembre 2010, 20:10 pm »


   Gracias, me funcionó, yo había encontrado algo parecido, en vez de los + ponían & , y no me había funcionado, muchas gracias.
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Insertar variables en SQLITE3 Python
« Respuesta #3 en: 12 Septiembre 2010, 20:15 pm »

xD, porque en python la sistaxis para concatenar el caracterer +
En línea

Te vendería mi talento por poder dormir tranquilo.
CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Insertar variables en SQLITE3 Python
« Respuesta #4 en: 13 Septiembre 2010, 01:32 am »


   Tienes idea de porque al mostrar los resultados me pone una u delante ¿?

 (u'Nombre', u'Apellidos', u'Fecha', u'Localidad')
 

  El código que encontré es este:

Código:
c.execute("""select * from personas""")
bbdd.commit()

for tupla in c.fetchall():
    print tupla
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] - Generador de variables
Scripting
ChicoMaravilla 3 5,326 Último mensaje 21 Enero 2011, 16:00 pm
por Karcrack
parametros variables en modelos de django [python]
Desarrollo Web
Kase 0 3,137 Último mensaje 14 Mayo 2011, 00:06 am
por Kase
[Python]Crear variables.....
Scripting
Jirp96 3 7,493 Último mensaje 27 Mayo 2011, 01:29 am
por Novlucker
Problema al realizar consulta en sqlite3 con python
Scripting
jos_307 3 2,861 Último mensaje 7 Julio 2016, 14:36 pm
por horacio_b92
Ayuda con sqlite3 en python
Scripting
Panic0 2 4,433 Último mensaje 20 Marzo 2021, 18:40 pm
por Panic0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines