from tkinter import *
import sqlite3
root=Tk()
root.title(" DataBase Record ")
root.geometry("400x600")
root.iconbitmap('edit.ico')
'''
# Create a Database or connect to one
conn=sqlite3.connect('address_book.db')
# Create cursor
c = conn.cursor()
# Create a Table
c.execute("""CREATE TABLE addresses(
first_name text,
last_name text,
address text,
city text,
state text,
zipcode integer) """)
'''
def update():
# Create a Database or connect to one
conn=sqlite3.connect('address_book.db')
# Create cursor
c=conn.cursor()
record_id=delete_box.get()
c.execute("""
UPDATE address SET
first_name = :first,
last_name = :last,
address = :address,
city = :city,
state = :state,
zipcode = :zipcode
WHERE oid = :oid""",
{
'first': f_name_edit.get(),
'last': l_name_edit.get(),
'address': address_edit.get(),
'city': city_edit.get(),
'state': state_edit.get(),
'zipcode': zipcode_edit.get(),
'oid': record_id
})
# commit changes
conn.commit()
# close connection
conn.close()
# create edit() function to update a record
def edit():
editor=Tk()
editor.title("Update a Record")
editor.geometry("400x600")
root.iconbitmap('edit.ico')
# Create a Database or connect to one
conn=sqlite3.connect('address_book.db')
# Create cursor
c=conn.cursor()
record_id=delete_box.get()
# Query the Data base
c.execute(" SELECT * FROM addresses WHERE oid ="+record_id)
records=c.fetchall()
show=''
for record in records[0:]:
show+=str(record)+"\t"+"\n"
# Create Global variable for text boxes name
global f_name_edit
global l_name_edit
global address_edit
global city_edit
global state_edit
global zipcode_edit
# Create Text Boxes
f_name_edit=Entry(editor, width=50)
f_name_edit.grid(row=0, column=1, padx=20, pady=5)
l_name_edit=Entry(editor, width=50)
l_name_edit.grid(row=1, column=1, padx=20, pady=5)
address_edit=Entry(editor, width=50)
address_edit.grid(row=2, column=1, padx=20, pady=5)
city_edit=Entry(editor, width=50)
city_edit.grid(row=3, column=1, padx=20, pady=5)
state_edit=Entry(editor, width=50)
state_edit.grid(row=4, column=1, padx=20, pady=5)
zipcode_edit=Entry(editor, width=50)
zipcode_edit.grid(row=5, column=1, padx=20, pady=5)
# Create Text Label
f_name_label_edit=Label(editor, text="First Name")
f_name_label_edit.grid(row=0, column=0)
l_name_label_edit=Label(editor, text="Last Name")
l_name_label_edit.grid(row=1, column=0)
address_label_edit=Label(editor, text="Address")
address_label_edit.grid(row=2, column=0)
city_label_edit=Label(editor, text="City")
city_label_edit.grid(row=3, column=0)
state_label_edit=Label(editor, text="State")
state_label_edit.grid(row=4, column=0)
zipcode_label_edit=Label(editor, text="ZipCode")
zipcode_label_edit.grid(row=5, column=0)
# Create a Save Button to save edited record
save_btn=Button(editor, text=" save Record ", command=query)
save_btn.grid(row=6, column=0, columnspan=2, padx=10, pady=10, ipadx=100)
# loop through result
for record in records:
f_name_edit.insert(0, record[0])
l_name_edit.insert(0, record[1])
address_edit.insert(0, record[2])
city_edit.insert(0, record[3])
state_edit.insert(0, record[4])
zipcode_edit.insert(0, record[5])
# Create data base submit function
def submit():
# Create a Database or connect to one
conn=sqlite3.connect('address_book.db')
# Create cursor
c=conn.cursor()
# Insert into Table
c.execute(" INSERT INTO addresses VALUES (:f_name, :l_name, :address, :city, :state, :zipcode) ",
{
'f_name': f_name.get(),
'l_name': l_name.get(),
'address': address.get(),
'city': city.get(),
'state': state.get(),
'zipcode': zipcode.get()
})
# commit changes
conn.commit()
# close connection
conn.close()
# clear the boxes
f_name.delete(0, END)
l_name.delete(0, END)
address.delete(0, END)
city.delete(0, END)
state.delete(0, END)
zipcode.delete(0, END)
# Create a function to show record
def query():
# Create a Database or connect to one
conn=sqlite3.connect('address_book.db')
# Create cursor
c=conn.cursor()
# Query the Data base
c.execute(" SELECT *,oid FROM addresses ")
records=c.fetchall()
show=''
for record in records[0:]:
show+=str(record[0:6])+"\t"+str(record[6])+"\n"
query_label=Label(root, text=show)
query_label.grid(row=12, column=0, columnspan=2)
# commit changes
conn.commit()
# close connection
conn.close()
# create a function to delete record
def delete():
# Create a Database or connect to one
conn=sqlite3.connect('address_book.db')
# Create cursor
c=conn.cursor()
# delete a record
c.execute("DELETE from addresses WHERE oid="+delete_box.get())
# commit changes
conn.commit()
# close connection
conn.close()
# Create Text Boxes
f_name=Entry(root, width=50)
f_name.grid(row=0, column=1, padx=20, pady=5)
l_name=Entry(root, width=50)
l_name.grid(row=1, column=1, padx=20, pady=5)
address=Entry(root, width=50)
address.grid(row=2, column=1, padx=20, pady=5)
city=Entry(root,width=50)
city.grid(row=3, column=1, padx=20, pady=5)
state=Entry(root, width=50)
state.grid(row=4, column=1, padx=20, pady=5)
zipcode=Entry(root, width=50)
zipcode.grid(row=5, column=1, padx=20, pady=5)
delete_box=Entry(root, width=50)
delete_box.grid(row=9, column=1, padx=20, pady=5)
# Create Text Label
f_name_label=Label(root, text="First Name")
f_name_label.grid(row=0, column=0)
l_name_label=Label(root, text="Last Name")
l_name_label.grid(row=1, column=0)
address_label=Label(root, text="Address")
address_label.grid(row=2, column=0)
city_label=Label(root, text="City")
city_label.grid(row=3, column=0)
state_label=Label(root, text="State")
state_label.grid(row=4, column=0)
zipcode_label=Label(root, text="ZipCode")
zipcode_label.grid(row=5, column=0)
delete_box_label=Label(root, text="Delete ID")
delete_box_label.grid(row=9, column=0)
# Create Submit Button
submit_btn=Button(root, text='Submit', command=submit)
submit_btn.grid(row=6, column=0, columnspan=2, padx=10, pady=10, ipadx=120)
# Create Query Button
query_btn=Button(root, text=" Show Records ", command=query)
query_btn.grid(row=7, column=0, columnspan=2, padx=10, pady=10, ipadx=100)
# Create Delete Button
delete_btn=Button(root, text=" Delete Record ", command=delete)
delete_btn.grid(row=10, column=0, columnspan=2, padx=10, pady=10, ipadx=100)
# Create Update Button
edit_btn=Button(root, text=" Edit Record ", command=edit)
edit_btn.grid(row=11, column=0, columnspan=2, padx=10, pady=10, ipadx=100)
'''
# commit changes
conn.commit()
# close connection
conn.close()
'''
root.mainloop()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
要使用 Tkinter 和 sqlite3 模块来创建一个简单的 GUI 应用程序,实现与 SQLite 数据库的交互,可以按照以下步骤进行:1. **导入 Tkinter 和 sqlite3 模块**:首先,导入这两个模块以便在程序中使用。2. **创建 Tkinter 的主窗口**:使用 Tkinter 创建一个窗口,作为用户界面的基础。3. **建立数据库连接**:使用 sqlite3 模块连接到 SQLite 数据库文件。如果文件不存在,则会创建一个新的数据库文件。4. **创建游标对象**:通过数据库连接创建一个游标对象,用于执行 SQL 查询和命令。5. **执行 SQL 操作**:使用游标对象执行 SQL 操作,例如创建表、插入数据、查询数据等。6. **提交事务和关闭数据库连接**:在所有操作完成后,确保提交事务并关闭数据库连接,以保存更改并释放资源。7. **在 Tkinter 主窗口中添加控件和布局**:向主窗口添加按钮、标签、文本框等控件,并使用布局管理器进行布局。8. **为控件添加事件处理函数**:为按钮等控件添加事件处理函数,当用户与之交互时执行。
资源推荐
资源详情
资源评论
收起资源包目录
python的tkinter库实现sqlite3数据库连接和操作样例源代码.zip (6个子文件)
python的tkinter库实现sqlite3数据库连接和操作样例源代码
Database_record_app_output.jpg 79KB
address_book.db 8KB
edit.ico 4KB
__pycache__
Update.cpython-38.pyc 1KB
Database_record_app.py 7KB
Update.py 0B
共 6 条
- 1
资源评论
传奇开心果编程
- 粉丝: 8099
- 资源: 335
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功