连接Python和sql sever,做一个学生信息管理系统的窗体,可以实现增、删、改、查四个功能的代码
时间: 2024-03-26 22:34:04 浏览: 48
学生管理系统代码,主要实现学生信息的增删改查等
可以使用Python中的pyodbc模块连接SQL Server,并且使用Tkinter模块创建GUI窗体。以下是一个示例代码,其中包含了增、删、改、查四个功能:
```python
import pyodbc
import tkinter as tk
# 连接SQL Server数据库
conn = pyodbc.connect('Driver={SQL Server};'
'Server=your_server_name;'
'Database=your_database_name;'
'Trusted_Connection=yes;')
# 创建游标
cursor = conn.cursor()
# 创建窗体
window = tk.Tk()
# 创建标签和文本框
tk.Label(window, text="姓名").grid(row=0)
tk.Label(window, text="年龄").grid(row=1)
tk.Label(window, text="性别").grid(row=2)
tk.Label(window, text="学号").grid(row=3)
name_entry = tk.Entry(window)
name_entry.grid(row=0, column=1)
age_entry = tk.Entry(window)
age_entry.grid(row=1, column=1)
gender_entry = tk.Entry(window)
gender_entry.grid(row=2, column=1)
id_entry = tk.Entry(window)
id_entry.grid(row=3, column=1)
# 定义增加数据函数
def insert_data():
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
id = id_entry.get()
query = "INSERT INTO student_info (name, age, gender, id) VALUES (?, ?, ?, ?)"
values = (name, age, gender, id)
cursor.execute(query, values)
conn.commit()
# 定义删除数据函数
def delete_data():
id = id_entry.get()
query = "DELETE FROM student_info WHERE id = ?"
values = (id,)
cursor.execute(query, values)
conn.commit()
# 定义修改数据函数
def update_data():
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
id = id_entry.get()
query = "UPDATE student_info SET name = ?, age = ?, gender = ? WHERE id = ?"
values = (name, age, gender, id)
cursor.execute(query, values)
conn.commit()
# 定义查询数据函数
def select_data():
id = id_entry.get()
query = "SELECT * FROM student_info WHERE id = ?"
values = (id,)
cursor.execute(query, values)
result = cursor.fetchone()
if result is not None:
name_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)
gender_entry.delete(0, tk.END)
id_entry.delete(0, tk.END)
name_entry.insert(0, result[1])
age_entry.insert(0, result[2])
gender_entry.insert(0, result[3])
id_entry.insert(0, result[4])
# 创建按钮
insert_button = tk.Button(window, text="增加", command=insert_data)
insert_button.grid(row=4, column=0)
delete_button = tk.Button(window, text="删除", command=delete_data)
delete_button.grid(row=4, column=1)
update_button = tk.Button(window, text="修改", command=update_data)
update_button.grid(row=4, column=2)
select_button = tk.Button(window, text="查询", command=select_data)
select_button.grid(row=4, column=3)
# 进入消息循环
window.mainloop()
```
注意事项:
1. 需要根据自己的实际情况修改连接字符串中的服务器名和数据库名。
2. 需要提前创建一个名为“student_info”的表,包含四个字段:name、age、gender和id。
3. 该代码仅供参考,实际使用中可能需要做更多的错误处理和界面美化。
阅读全文