连接Python和sql sever,做一个学生信息管理系统的窗体,可以实现增、删、改、查四个功能的代码
时间: 2024-03-23 13:36:59 浏览: 136
学生信息管理系统(tkinter界面带登陆系统,增删改查等)-python
5星 · 资源好评率100%
好的,连接Python和SQL Server可以使用`pyodbc`模块。以下是一个简单的学生信息管理系统,可以实现增加、删除、修改和查找学生信息的功能:
```python
import pyodbc
from tkinter import *
# 连接到SQL Server数据库
conn = pyodbc.connect('Driver={SQL Server};'
'Server=your_server_name;'
'Database=your_database_name;'
'Trusted_Connection=yes;')
# 创建游标对象
cursor = conn.cursor()
# 定义主窗口
root = Tk()
root.title("学生信息管理系统")
root.geometry("400x300")
# 定义标签和文本框
id_label = Label(root, text="学号")
id_label.grid(row=0, column=0)
id_entry = Entry(root)
id_entry.grid(row=0, column=1)
name_label = Label(root, text="姓名")
name_label.grid(row=1, column=0)
name_entry = Entry(root)
name_entry.grid(row=1, column=1)
age_label = Label(root, text="年龄")
age_label.grid(row=2, column=0)
age_entry = Entry(root)
age_entry.grid(row=2, column=1)
score_label = Label(root, text="成绩")
score_label.grid(row=3, column=0)
score_entry = Entry(root)
score_entry.grid(row=3, column=1)
# 定义添加学生信息的函数
def add_student():
id = id_entry.get()
name = name_entry.get()
age = age_entry.get()
score = score_entry.get()
cursor.execute("INSERT INTO students (id, name, age, score) VALUES (?, ?, ?, ?)",
(id, name, age, score))
conn.commit()
id_entry.delete(0, END)
name_entry.delete(0, END)
age_entry.delete(0, END)
score_entry.delete(0, END)
# 定义删除学生信息的函数
def delete_student():
id = id_entry.get()
cursor.execute("DELETE FROM students WHERE id=?", (id,))
conn.commit()
id_entry.delete(0, END)
name_entry.delete(0, END)
age_entry.delete(0, END)
score_entry.delete(0, END)
# 定义修改学生信息的函数
def update_student():
id = id_entry.get()
name = name_entry.get()
age = age_entry.get()
score = score_entry.get()
cursor.execute("UPDATE students SET name=?, age=?, score=? WHERE id=?",
(name, age, score, id))
conn.commit()
id_entry.delete(0, END)
name_entry.delete(0, END)
age_entry.delete(0, END)
score_entry.delete(0, END)
# 定义查询学生信息的函数
def query_student():
id = id_entry.get()
cursor.execute("SELECT * FROM students WHERE id=?", (id,))
row = cursor.fetchone()
if row:
name_entry.delete(0, END)
age_entry.delete(0, END)
score_entry.delete(0, END)
name_entry.insert(0, row[1])
age_entry.insert(0, row[2])
score_entry.insert(0, row[3])
else:
name_entry.delete(0, END)
age_entry.delete(0, END)
score_entry.delete(0, END)
messagebox.showinfo("提示", "未找到该学生信息")
# 定义添加、删除、修改和查询按钮
add_button = Button(root, text="添加", command=add_student)
add_button.grid(row=4, column=0)
delete_button = Button(root, text="删除", command=delete_student)
delete_button.grid(row=4, column=1)
update_button = Button(root, text="修改", command=update_student)
update_button.grid(row=4, column=2)
query_button = Button(root, text="查询", command=query_student)
query_button.grid(row=4, column=3)
root.mainloop()
```
在这个程序中,我们使用了`pyodbc`模块连接到SQL Server数据库,并创建了一个包含学生信息的表格“students”。程序使用了Tkinter库创建了一个窗口,包含四个标签和文本框用于输入学生信息,以及四个按钮用于添加、删除、修改和查询学生信息。每个按钮都有与之对应的函数,用于执行相应的操作。
阅读全文