Home > Back-end >  how to make multiple database with sqlite
how to make multiple database with sqlite

Time:09-17

I want to create multiple databases but I don't know how I can make it

this is python code:

      # 1 - for import data in listbox
        def clear_item_list():
            items.delete(0, END)
        # 2 - for import data in listbox
        def fill_item_list(items):
            for item_ in items:
                items.insert(END, item_)
        # 3 - for import data in listbox
        def item_list_view():
            clear_item_list()
            items = app.data_1.view()
            fill_item_list(items)
    
        # and that for placement data in entries
     def get_selected_row_item(event):
            global selected_item
            if len(items.curselection()) > 0:
                index = items.curselection()[0]
                selected_item = items.get(index)[:]
                item_name.delete(0, END)
                item_name.insert(END, selected_item[1])
                item_price.delete(0, END)
                item_price.insert(END, selected_item[2])
    
    
    
    
        items.bind("<<ListboxSelect>>", get_selected_row_item)

This code is for making a table:

"CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY , Namee VARCHAR , price INTEGER )"

I don't have any idea this is my problem or not, because when I wanna use price, type that data is string and python raise this error:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Green\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
  File "D:\python\WindowsProject\app\manager\manager_sign_in.py", line 44, in back_to_main_manager
    main_screen()
NameError: name 'main_screen' is not defined
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Green\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
  File "D:\python\WindowsProject\app\manager\sign.py", line 33, in back_to_main_mngr
    main_screen()
NameError: name 'main_screen' is not defined
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Green\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
  File "D:\python\WindowsProject\app\main.py", line 33, in user_sign
    user_screen()
NameError: name 'user_screen' is not defined
Traceback (most recent call last):
  File "D:\python\WindowsProject\app\main.py", line 4, in <module>
    from app.user.user_sign_in import *
  File "D:\python\WindowsProject\app\user\user_sign_in.py", line 240, in <module>
    user_screen()
  File "D:\python\WindowsProject\app\user\user_sign_in.py", line 236, in user_screen
    item_list_view()
  File "D:\python\WindowsProject\app\user\user_sign_in.py", line 55, in item_list_view
    fill_item_list(items)
  File "D:\python\WindowsProject\app\user\user_sign_in.py", line 48, in fill_item_list
    items.insert(END, item_)
TypeError: 'str' object cannot be interpreted as an integer

and this is input data: (1, 'pizza', '6')

if you can help me pls say to I give you more data about that if you need

CodePudding user response:

The issue is on the below function:

def fill_item_list(items):  # <- items is passed argument
    for item_ in items:
        # "items" below is expected to be an instance of tkinter Listbox
        # but it is actually the passed argument (a list object)
        items.insert(END, item_)

You used same name on the passed argument as the tkinter Listbox.

Use another name for the passed argument:

def fill_item_list(data):  # used "data" instead of "items"
    for item_ in data:
        items.insert(END, item_)
  • Related