
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()
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Opções secretas em tema do Cinnamon
Como mapear unidade de rede no Linux
Como quebrar senha usando john the ripper
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (1)
Alguém já testou o novo COSMIC Desktop? O que achou? (4)
Não consigo instalar distro antiga no virtualbox nem direto no hd (29)
queria saber como posso alterar a frequencia do meu ryzen 2300u pro (3)









