Enviado em 11/09/2017 - 19:49h
Boa noite. O código a seguir é para cadastro de produtos, no caso as informações passadas não são inseridas no banco de dados, o erro diz que a coluna não existe... Nunca trabalhei com sql antes, já pesquisei e o erro não ficou claro pra mim
#!/usr/bin python
# -*- coding: utf-8 -*-
### Importações ###
from tkinter import *
import sqlite3
### Globais ###
conn = sqlite3.connect("produtos.db")
cursor = conn.cursor()
def criarTabela():
cursor.execute("""
CREATE TABLE IF NOT EXISTS produtos (
matricula INTEGER NOT NULL PRIMARY KEY,
nome TEXT NOT NULL,
origem TEXT NOT NULL
);
""")
criarTabela()
#### Definições da Aplicação Principal ###
principal = Tk()
principal.title("Cadastro de Produtos")
principal.geometry("600x333")
principal.resizable(FALSE, FALSE)
#### Funções ###
def adicionar_produto():
matricula = etMatricula.get()
nome = etNome.get()
origem = etOrigem.get()
cursor.execute("""
INSERT INTO produtos (matricula, nome, origem) VALUES (?, ?, ?)""", (matricula, nome, origem))
conn.commit()
lstProdutos.insert(END, (matricula, nome, origem))
def deletar_produto():
matricula_produto = etMatriculaDeletar.get()
cursor.execute("""
DELETE FROM produtos WHERE origem=?""", (matricula_produto))
conn.commit()
lstProdutos.delete(0, END)
lista = cursor.execute("""
SELECT * FROM produtos;
""")
for i in lista:
lstProdutos.insert(END, i)
def mudar_origem():
matricula_produto = etMatriculaMudar.get()
nova_origem = etNovaOrigem.get()
cursor.execute("""
UPDATE produtos SET origem = ? WHERE matricula = ?""", (nova_origem, matricula_produto))
conn.commit()
lstProdutosdelete(0, END)
lista = cursor.execute("""
SELECT * FROM produtos;
""")
for i in lista:
lstProdutos.insert(END, i)
def exportar():
with io.open('produtos.sql', 'w') as f:
for linha in conn.iterdump():
f.write('%s\n' % linha)
cursor.execute("""
SELECT * FROM produtos;
""")
with io.open('produtos.txt', 'w') as f:
for linha in cursor.fetchall():
linha = str(linha)
f.write('%s\n' % linha)
lblTitulo = Label(principal, text="Cadastro")
lblNomeNota = Label(principal, text="Matrícula / Nome / Origem")
### Widgets - Adicionar ###
lblAdicionarProduto = Label(principal, text="Adicionar Produto")
lblMatricula = Label(principal, text="Matrícula: ")
lblNome = Label(principal, text="PRODUTO: ")
lblOrigem = Label(principal, text="ORIGEM: ")
etMatricula = Entry(principal)
etNome = Entry(principal)
etOrigem = Entry(principal)
btnAdd = Button(principal, text="Adicionar", command=adicionar_produto)
### Widgets - Deletar ###
lblDeletarProduto = Label(principal, text="Deletar produto")
lblMatriculaDeletar = Label(principal, text="Matrícula: ")
etMatriculaDeletar = Entry(principal, width=10)
btnDel = Button(principal, text="Deletar", command=deletar_produto)
### Widgets - Mudar origem ###
lblMudarOrigem = Label(principal, text="Mudar Origem")
lblMatriculaMudar = Label(principal, text="Origem: ")
lblNovaOrigem = Label(principal, text="Origem: ")
etMatriculaMudar = Entry(principal)
etNovaOrigem = Entry(principal)
btnMudarOrigem = Button(principal, text="Mudar Origem", command=mudar_origem)
### Widgets - Listar produtos ###
scrollbar = Scrollbar(principal)
lstProdutos = Listbox(principal, width=35, height=16)
lstProdutos.config(yscrollcommand=scrollbar.set)
#scrollbar.config(command=lstProdutos.yview)
lista = cursor.execute("""
SELECT * FROM produtos;
""")
for i in lista:
lstProdutos.insert(END, i)
### Posicionamento de Widgets - Principal ###
lblTitulo.place(x=275)
lblNomeNota.place(x=308, y=30)
### Posicionamento de Widgets - Listar produtos ####
lstProdutos.place(x=310, y=52)
scrollbar.place()
### Posicionamento de Widgets - Adicionar produtos ###
lblAdicionarProduto.place(x=100, y=30)
lblMatricula.place(x=10, y=52)
etMatricula.place(x=115, y=50)
lblNome.place(x=10, y=82)
etNome.place(x=115, y=80)
lblOrigem.place(x=10, y=112)
etOrigem.place(x=115, y=110)
btnAdd.place(x=115, y=145)
### Posicionamento de Widgets - Deletar ###
lblDeletarProduto.place(x=100, y=175)
lblMatriculaDeletar.place(x=10, y=197)
etMatriculaDeletar.place(x=80, y=195)
btnDel.place(x=175, y=198)
### Posicionamento de Widgets - Mudar ###
lblMudarOrigem.place(x=105, y=225)
lblMatriculaMudar.place(x=10, y=247)
etMatriculaMudar.place(x=115, y=245)
lblNovaOrigem.place(x=10, y=277)
etNovaOrigem.place(x=115, y=275)
btnMudarOrigem.place(x=115, y=308)
principal.mainloop()
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta