Как отобразить число из базы данных?

import flet as ft
import sqlite3

db = sqlite3.connect('data_of_num.db')

c = db.cursor()

qwe = 0

c.execute("""CREATE TABLE num (
          number integer     
)""")

def main(page: ft.Page):
    page.title = 'my mini app'
    page.theme_mode = 'light'
    page.vertical_alignment = ft.MainAxisAlignment.CENTER
    page.window_width = 250
    page.window_height = 150
    page.window_resizable = False


    tex = ft.Text('', height= 20)   
    num = ft.TextField(value = '', width= 100, height= 35)


    def get_info(e):
        tex.value = num.value
        qwe = num.value
        c.execute(f"INSERT INTO num VALUES ({qwe})")
        page.update()

    add = ft.OutlinedButton(text='add', width=100, height=25, on_click = get_info)

    panel =  ft.Row(
            [
                ft.Column(
                    [ 
                        tex,
                        num,
                        add
                    ]
                )
            ],
            alignment=ft.MainAxisAlignment.CENTER
    )
    
    page.add(panel)
 
db.commit()
db.close()
ft.app(target=main)

мне нужно написать программу, где есть поле для ввода, куда можно ввести число, и кнопка, по нажатию которой, число которое я ввел, отобразилось выше этого поля и потом даже после перезапуска программы, это число оставалось рядом с полем для ввода, и опять после ввода нового числа, это новое число заменило старое, и не исчезало после перезапуска.

вот я решил сохранять число которое ввел, в базу данных, а потом дописать функцию, что бы из базы данных забирать это число и вставлять рядом с полем для ввода, но я столкнулся с проблемой, что после запуска программы, и после ввода числа, оно не сохраняется в базу данных, и выдаёт ошибку:

sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread.
The object was created in thread id 7252 and this is thread id 15008.

UPD CODE:

import flet as ft
import sqlite3

if __name__ == "__main__":
    db = sqlite3.connect('data_of_num.db')
    c = db.cursor()
    c.execute("""CREATE TABLE num (number integer)""")
    c.execute("INSERT INTO num VALUES(123)")
    db.commit()
    c.close()
    db.close()

def main(page: ft.Page):
    page.title = 'my mini app'
    page.theme_mode = 'light'
    page.vertical_alignment = ft.MainAxisAlignment.CENTER
    page.window_width = 250
    page.window_height = 150
    page.window_resizable = False

    db = sqlite3.connect('data_of_num.db')
    c = db.cursor()
    num_int = c.execute("SELECT number FROM num")
    tex = ft.Text(f'{num_int}', height= 20)   
    db.commit()
    c.close()
    db.close()
    num = ft.TextField(value = '', width= 100, height= 35)


    def get_info(e):
        tex.value = num.value
        page.update()

    add = ft.OutlinedButton(text='add', width=100, height=25, on_click = get_info)

    panel =  ft.Row(
            [
                ft.Column(
                    [ 
                        tex,
                        num,
                        add
                    ]
                )
            ],
            alignment=ft.MainAxisAlignment.CENTER
    )
    
    page.add(panel)
 
ft.app(target=main)

Ответы (0 шт):