首页 > 解决方案 > 将数据从一个表复制到另一个 sqlite3

问题描述

所以我有一个包含我将持有的产品的数据库,在这个数据库中我有一个篮子表,用户可以在其中添加他们想要购买的项目。出于某种原因,我无法在视图窗口中进行选择并将该数据复制到我的购物篮表中。

这是我为移动数据创建的函数。

def Move():
    if not tree.selection():
        error = tkMessageBox.showerror("Error", "Cannot move nothing to basket")
    else:
        result = tkMessageBox.askquestion('CCOS', 'Do you want to add this to the basket?', icon="warning")
        if result == 'yes':
            curItem = tree.selection()
            print(curItem)
            contents = (tree.item(curItem))
            selecteditem = contents['values']
            Database()
            cursor.execute("INSERT INTO `basket` (product_name, product_qty, product_price) VALUES(?, ?, ?)", 
                            (str(PRODUCT_NAME.get()), int(PRODUCT_QTY.get()), int(PRODUCT_PRICE.get())))
            conn.commit()
            PRODUCT_ID.set("")
            PRODUCT_NAME.set("")
            PRODUCT_PRICE.set("")
            PRODUCT_QTY.set("")
            cursor.close()
            conn.close()

评论

我的代码中有一系列不同的函数,Database()是它自己的创建数据库的函数和cursor = conn.connect(). 我没有收到错误,但是当我运行该函数时,没有数据被复制到表中

当我打电话print(curItem)时,输出的只是:('I002',)

这是数据库功能:

def Database():
    global conn, cursor
    conn = sqlite3.connect("main_storage.db")
    cursor = conn.cursor()
    cursor.execute("CREATE TABLE IF NOT EXISTS `admin` (admin_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username TEXT, password TEXT)")
    cursor.execute("CREATE TABLE IF NOT EXISTS `product` (product_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, product_name TEXT, product_qty TEXT, product_price TEXT)")
    cursor.execute("CREATE TABLE IF NOT EXISTS `basket` (product_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, product_name TEXT, product_qty TEXT, product_price TEXT)")
    cursor.execute("SELECT * FROM `admin` WHERE `username` = 'admin' AND `password` = 'admin'")
    if cursor.fetchone() is None:
        cursor.execute("INSERT INTO `admin` (username, password) VALUES('admin', 'admin')")
        conn.commit()

标签: pythonpython-3.xtkintersqlitetreeview

解决方案


推荐阅读