python - 将数据从一个表复制到另一个 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()
解决方案
推荐阅读
- angular - 运行时错误:Object(...) 不是函数 Ionic/Firebase/Angular
- c# - 使用 INNER JOIN 获取数字作为名称
- angularjs - angularJS中的引导进度条使用firebase动态检索值
- php - 可以用 IN 语句提取 JSON 吗?
- ansible - 使用 debug=ON 的 Ansible JSON 输出
- r - R:dplyr::mutate 使用由作为字符串传递的变量组合组成的表达式
- facebook - Facebook 发布为 Swift 4 中的页面
- elasticsearch - 使用带有filebeat的logstash时出现权限错误
- mysql - 使用 GROUP BY 时防止行混合?
- c# - 尝试通过 Selenium 清除文本时出现 InvalidElementStateException