Редактирование строки, удаление строки из таблицы в Phyton 3.81 (Питоне)

На предыдущей странице было рассмотрено вставка строки в таблицу. Далее мы аналогично рассмотрим корректировку строки. Добавим еще кнопку (см. рис. 2 на пред. стр):

btn_edit =Button(text='Редактировать',
bg='white',command=vibor)
btn_edit.place(x=250, y=380)

Создадим функцию vibor() для выбора из таблицы указанную строку в дереве:

Переменная rows содержит список списков таблицы. В данном случае список состоит из одного списка с индексом 0. Поэтому создаем переменую sp-список для выбора значений полей. Их значения заносятся во временные переменные zdescription, zcosts, ztotal:

def vibor():
    global zdescription, zcosts, ztotal # чтобы переменные были доступны в других функциях
    c.execute('''select * from finance where id=?''',
    tree.set(tree.selection()[0], '#1') )
#выбор строки с выбранным ключом=ID
    rows = c.fetchall()
#список с данными выбранной строки
    sp=rows[0];zdescription=sp[1]; zcosts=sp[2]; ztotal=sp[3]

    korzap()

Рис. 1 Функция vibor() вызывает функцию korzap() для корректировки в дочернем окне, используя форму для ввода:

Рис.2.Текст фрагмента скрипта -создание дочернего окна с формой для корректировки данных строки.

Корректировка строки в Таблице в Питоне

Рис.3. Форма для корректировки выбранной строки.

Корректиовка записи в Питоне

Рис.4. После нажатия на кнопку "Заменить"

Удаление записи из таблицы в Питоне (Phyton)

Добавляем кнопку для удаления строки. Текст кнопки добавляем в конце скрипта на рис.2 на 1 странице (предыд.)

btn_del=Button(text='Удалить строку',bg='white', command=delete)
btn_del.place(x=400,y=380);btn_del.bind('<Button-1>')

Используем функцию delete() :

def delete():
    c.execute('''DELETE FROM finance WHERE ID = ?''',     (tree.set(tree.selection()[0], '#1')))
    conn.commit()
    view_records()

Рис. 5. Текст функции по удалению выбранной строки из таблицы