使用python和SQLite3数据库
时间: 2024-03-21 22:41:38 浏览: 87
python 用sqlite3
3星 · 编辑精心推荐
好的,以下是一个基于Python和SQLite3数据库的简单界面设计方案:
```python
import sqlite3
import tkinter as tk
# 创建数据库连接
conn = sqlite3.connect('cal.db')
c = conn.cursor()
# 创建计算记录表
c.execute('''CREATE TABLE IF NOT EXISTS cal_records
(id INTEGER PRIMARY KEY AUTOINCREMENT,
num1 REAL,
num2 REAL,
op TEXT,
result REAL)''')
# 定义计算函数
def calculate():
num1 = float(entry1.get())
num2 = float(entry2.get())
op = listbox.get(listbox.curselection())
if op == '+':
result = num1 + num2
elif op == '-':
result = num1 - num2
elif op == '*':
result = num1 * num2
elif op == '/':
result = num1 / num2
else:
result = 0.0
result_label.config(text=str(result))
# 存储计算结果到数据库
c.execute('INSERT INTO cal_records (num1, num2, op, result) VALUES (?, ?, ?, ?)',
(num1, num2, op, result))
conn.commit()
# 定义查询函数
def query():
num1 = float(entry1.get())
c.execute('SELECT * FROM cal_records WHERE num1=?', (num1,))
records = c.fetchall()
result_str = ''
for record in records:
result_str += f'num1: {record[1]}, num2: {record[2]}, op: {record[3]}, result: {record[4]}\n'
result_label.config(text=result_str)
# 创建界面
root = tk.Tk()
root.title('Calculator')
label1 = tk.Label(root, text='Number 1:')
label1.grid(row=0, column=0)
entry1 = tk.Entry(root)
entry1.grid(row=0, column=1)
label2 = tk.Label(root, text='Number 2:')
label2.grid(row=1, column=0)
entry2 = tk.Entry(root)
entry2.grid(row=1, column=1)
listbox = tk.Listbox(root)
listbox.grid(row=2, column=0, columnspan=2)
listbox.insert(0, '+', '-', '*', '/')
calculate_btn = tk.Button(root, text='Calculate', command=calculate)
calculate_btn.grid(row=3, column=0)
query_btn = tk.Button(root, text='Query', command=query)
query_btn.grid(row=3, column=1)
result_label = tk.Label(root, text='')
result_label.grid(row=4, column=0, columnspan=2)
root.mainloop()
# 关闭数据库连接
c.close()
conn.close()
```
在上述界面中,我们使用了Python的Tkinter库来创建GUI界面。界面中包含两个文本框用于输入两个数值,一个列表框用于选择运算方法,一个计算按钮和一个查询按钮。在点击计算按钮时,程序会根据用户的输入和选择进行相应的数学运算,并将结果显示在界面上。同时,程序会将计算结果存入SQLite3数据库中。在点击查询按钮时,程序会根据用户输入的第一个数值从数据库中查询相应的计算结果,并将结果显示在界面上。
需要注意的是,在使用SQLite3数据库时,我们需要首先建立数据库连接,然后再通过cursor对象执行SQL语句进行数据库操作。最后,务必在程序结束时关闭数据库连接。
阅读全文