python如何结合SQL sever实现学生管理系统
时间: 2023-06-29 22:18:40 浏览: 391
基于Python+MySQL 实现(GUI )学生信息管理系统【100010435】
5星 · 资源好评率100%
下面是一个简单的示例,演示如何使用Python和pyodbc模块结合SQL Server实现学生管理系统:
1. 准备工作
首先需要安装SQL Server和Python,并且安装pyodbc模块。在SQL Server中创建一个数据库,命名为"StudentManagement",并创建一个数据表"Student",用于存储学生信息,包括学生ID、姓名、年龄和性别等字段。
2. 连接数据库
使用pyodbc模块连接SQL Server数据库,可以使用以下代码:
```python
import pyodbc
# 连接数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=StudentManagement;UID=sa;PWD=123456')
# 获取游标
cursor = conn.cursor()
```
其中,DRIVER参数指定ODBC驱动程序,SERVER参数指定SQL Server服务器名称,DATABASE参数指定数据库名称,UID和PWD参数指定登录SQL Server所需的用户名和密码。
3. 实现增删改查功能
使用SQL语句实现学生信息的增删改查功能,可以使用以下代码:
```python
# 查询学生信息
def query_student(id):
sql = "SELECT * FROM Student WHERE ID=?"
cursor.execute(sql, id)
row = cursor.fetchone()
if row:
student = {
'id': row[0],
'name': row[1],
'age': row[2],
'gender': row[3]
}
return student
else:
return None
# 添加学生信息
def add_student(student):
sql = "INSERT INTO Student(ID, Name, Age, Gender) VALUES(?, ?, ?, ?)"
cursor.execute(sql, (student['id'], student['name'], student['age'], student['gender']))
conn.commit()
# 修改学生信息
def update_student(student):
sql = "UPDATE Student SET Name=?, Age=?, Gender=? WHERE ID=?"
cursor.execute(sql, (student['name'], student['age'], student['gender'], student['id']))
conn.commit()
# 删除学生信息
def delete_student(id):
sql = "DELETE FROM Student WHERE ID=?"
cursor.execute(sql, id)
conn.commit()
```
4. 实现用户界面
使用Tkinter模块实现用户界面,可以使用以下代码:
```python
from tkinter import *
from tkinter import messagebox
# 查询学生信息
def query():
id = entry_id.get()
student = query_student(id)
if student:
entry_name.delete(0, END)
entry_name.insert(0, student['name'])
entry_age.delete(0, END)
entry_age.insert(0, student['age'])
entry_gender.delete(0, END)
entry_gender.insert(0, student['gender'])
else:
messagebox.showinfo('提示', '没有找到该学生')
# 添加学生信息
def add():
id = entry_id.get()
name = entry_name.get()
age = entry_age.get()
gender = entry_gender.get()
student = {'id': id, 'name': name, 'age': age, 'gender': gender}
add_student(student)
messagebox.showinfo('提示', '添加学生信息成功')
# 修改学生信息
def update():
id = entry_id.get()
name = entry_name.get()
age = entry_age.get()
gender = entry_gender.get()
student = {'id': id, 'name': name, 'age': age, 'gender': gender}
update_student(student)
messagebox.showinfo('提示', '修改学生信息成功')
# 删除学生信息
def delete():
id = entry_id.get()
delete_student(id)
messagebox.showinfo('提示', '删除学生信息成功')
# 创建主窗口
root = Tk()
root.title('学生管理系统')
root.geometry('400x300')
# 学生ID标签和输入框
label_id = Label(root, text='学生ID:')
label_id.grid(row=0, column=0)
entry_id = Entry(root)
entry_id.grid(row=0, column=1)
# 学生姓名标签和输入框
label_name = Label(root, text='学生姓名:')
label_name.grid(row=1, column=0)
entry_name = Entry(root)
entry_name.grid(row=1, column=1)
# 学生年龄标签和输入框
label_age = Label(root, text='学生年龄:')
label_age.grid(row=2, column=0)
entry_age = Entry(root)
entry_age.grid(row=2, column=1)
# 学生性别标签和输入框
label_gender = Label(root, text='学生性别:')
label_gender.grid(row=3, column=0)
entry_gender = Entry(root)
entry_gender.grid(row=3, column=1)
# 查询按钮
button_query = Button(root, text='查询', command=query)
button_query.grid(row=4, column=0)
# 添加按钮
button_add = Button(root, text='添加', command=add)
button_add.grid(row=4, column=1)
# 修改按钮
button_update = Button(root, text='修改', command=update)
button_update.grid(row=4, column=2)
# 删除按钮
button_delete = Button(root, text='删除', command=delete)
button_delete.grid(row=4, column=3)
# 运行主窗口
root.mainloop()
```
该代码使用Tkinter模块创建了一个简单的用户界面,包含学生ID、姓名、年龄和性别等输入框和查询、添加、修改、删除等按钮,用户可以通过界面操作学生信息。
阅读全文