1. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[Python] Por quê meu código para atualizar a tabela não funciona? [fechada]

Discussão em 'Python' iniciado por Stack, Agosto 16, 2021.

  1. Stack

    Stack Membro Participativo

    Tenho um código responsável por gerenciar uma biblioteca feita em python usando tkinter e sqlite. Ao clicar em qualquer registro da tabela, é aberta uma tela onde você pode editar ou excluir um registro, em que seus campos são preenchidos automaticamente com os valores retirados do valor clicado na tabela, mas ao pressionar o botão de edição, o registro não muda.

    Eu tentei maneiras diferentes (strings formatadas, etc), mas não funciona de qualquer maneira.

    PS: Adiciona livros normalmente.

    Código responsável por editar o valor proveniente da tabela:

    def editar_livro(self, id_livro, titulo, autor, editora, n_pages, proprietario):
    self.__cursor.execute('''
    UPDATE livros
    SET (titulo_livro, autor_livro, editora_livro, paginas_livro, proprietario_livro) = (?, ?, ?, ?, ?)
    WHERE id_livro = ?
    ''', (titulo, autor, editora, n_pages, proprietario, id_livro))

    self.__connection.commit()


    Código responsável por pegar o valor da tabela e chamar o código acima:

    def editar_livro():
    livro_selecionado = tabela_livros.item(tabela_livros.focus())['values']

    id_livro = livro_selecionado[0]
    titulo = livro_selecionado[1]
    autor = livro_selecionado[2]
    editora = livro_selecionado[3]
    n_pages = livro_selecionado[4]
    proprietario = livro_selecionado[5]

    print(id_livro, type(id_livro))

    data_base.editar_livro(id_livro, titulo, autor,
    editora, n_pages, proprietario)

    carrega_tabelas()

    editar_excluir_livro.pack_forget()

    botoes_editar_excluir_livro.pack_forget()

    table_frame['text'] = 'Livros'

    tabela_livros.pack(
    expand=True,
    fill=BOTH,
    padx=10,
    pady=10
    )

    Continue reading...

Compartilhe esta Página