Why do not you recognize the column name with sqlite3?

0

I am developing a simple code to store and retrieve information in a database to learn how to use sqlite3 in python. The save part works fine but not the recovery part, I throw the following error when the column does exist: sqlite3.OperationalError: no such column: CajaAzulA

I copy the code that I am using:

#prueba
import sqlite3
import json

def funcion_insertar(tanque, caja, lista): #esta funcion crea la tabla, inserta el plano asociado al numero de caja
    con = sqlite3.connect("base.db") #conecto a la base
    c = con.cursor() #defino el cursor
    c.execute("CREATE TABLE if not exists "+tanque+ " (Nrocaja TEXT, Plano BLOB)") #Crea la tabla
    c.execute("INSERT INTO "+tanque+ " (Nrocaja, Plano) VALUES('%s', '%s')" % (caja, lista)) #inserta
    con.commit() #guarda
    con.close() #lo cierro
plano = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
funcion_insertar("CM2", "CajaAzulA", plano)

def funcion_ver(tanque, caja):
    con = sqlite3.connect("base.db") #conecto a la base
    c = con.cursor() #defino el cursor
    frase = ("SELECT Plano FROM %s where Nrocaja = %s;" % (tanque, caja))
    c.execute(frase) #asi recupero el valor asociada a caja elejida del tanque elegido
    planor = c.fetchone()[0] #esto es para mostrarlo como corresponde
    planorec = json.loads(planor) #esto es para deserializar y que vuelva a ser una lista
    print (planor[0]) #esto es para ver que no funciona como una lista
    print (planorec[0]) #esto es para ver que funciona como una lista
    con.commit() #guarda
    con.close() #lo cierro
funcion_ver("CM2", "CajaAzulA")
    
asked by DiegoR 02.06.2018 в 21:28
source

0 answers