GO开发 数据库版学生信息管理系统
实现功能
本博客仅展示关键函数,全部的代码请直达本页面底部,见代码资源连接。
1 学生信息管理系统的登录与账号注册、查看所有学生信息、查看指定学生信息、修改学生信息、增加学生信息、删除学生信息
1.1 登录
func login(account, password string, ret bool) (err error) {
fmt.Println("请输入账号及密码:")
for ret != true {
//account = "admin"
//password = "admin123"
_, err = fmt.Scan(&account, &password)
if err != nil {
return
}
//2.2.1-----------------验证登录是否成功-----------------
ret, err = UseLogin(account, password)
if err != nil {
fmt.Println(err)
}
if ret != true {
fmt.Println("请重新输入:")
}
}
return
}
1.2 注册
// RegisterAccount err=nil则注册成功
func RegisterAccount(account, firstPassword, secondPassword, registerCode string) (err error) {
if registerCode != registerCodeMode {
err = errors.New("注册码错误")
return
}
if firstPassword != secondPassword {
err = errors.New("两次输入的密码不一致")
return
}
sqlQuery := `select account from login where account=?;`
row := stu.Db.QueryRow(sqlQuery, account)
var a string
err = row.Scan(&a)
if err == nil {
err = errors.New("账号已存在")
return
}
sqlStr := `insert into login(account,password)values(?,?);`
_, err = stu.Db.Exec(sqlStr, account, firstPassword)
if err != nil {
err = errors.New("注册账号失败")
return
}
timeNow := time.Now().Format("2006-01-02 15:04:05")
fmt.Println("注册成功", timeNow)
return err
}
1.3 功能实现
// FunctionChoose 登录和注册选择
func FunctionChoose(button int) (err error) {
var (
account string //账户名
password string //密码
passwordSecond string //二次确认密码
registerCode string //注册码
ret bool //登录返回值
)
//注册
switch button {
case 0:
err = login(account, password, ret)
if err != nil {
return
}
case 1:
err = register(account, password, passwordSecond, registerCode)
if err != nil {
return
}
//注册后返回登陆界面
//延时3s后返回登录界面
fmt.Println("3s后自动返回登录界面")
time.Sleep(time.Second * 3)
timeNow := time.Now().Format("2006-01-02 15:04:05")
fmt.Println(timeNow)
err = login(account, password, ret)
if err != nil {
return
}
default:
err = errors.New("输入错误")
}
return
}
2 信息管理都是基于mysql数据库的
数据库名为:studentMessage
建表2个:login、studentManage
login表:为登录账号管理。字段为:
account varchar
password varchar
studentManage表:为学生信息管理。字段为:
ID int //20xx44xxx 学号
Grade varchar // 年级 2018级
Name varchar //姓名
Age int //年龄
Gender varchar //性别
Chinese int //语文成绩
Math int //数学成绩
English int //英语成绩
3 细节:
3.1 注册需要得到指定的注册码”xx“才能注册账号
if registerCode != registerCodeMode {
err = errors.New("注册码错误")
return
}
3.2 注册完成后3s自动返回登录页面
fmt.Println("3s后自动返回登录界面")
time.Sleep(time.Second * 3)
timeNow := time.Now().Format("2006-01-02 15:04:05")
fmt.Println(timeNow)
err = login(account, password, ret)
if err != nil {
return
}
3.3 登录或注册功能选择不正确时,会提示并跳过,进行下一次登录或注册功能选择
default:
err = errors.New("输入错误")
}
3.4 登录成功直接进入学生信息管理系统
3.5 功能选择是循环进行的,直至选择退出
请选择登录(输入:0)或注册账号(输入:1):
3
输入错误
请选择登录(输入:0)或注册账号(输入:1):
5
输入错误
请选择登录(输入:0)或注册账号(输入:1):
0
请输入账号及密码:
ad
ad
账户不存在
请重新输入:
admin ad
密码错误
请重新输入:
admin admin123
登录成功! 2021-07-30 16:36:16
欢迎访问学生信息管理系统
1 查看学生列表
2 查询学生信息
3 修改学生信息
4 增加学生信息
5 删除学生信息
6 退 出 系 统
请输入:6
拜拜了您勒!
3.6 查看学生列表为循环查看列表所有内容
3.7 查询指定学号学生信息,当输入学号错误时,会提示错误并跳过,进行下一次学生信息管理系统功能选择
3.8 修改学生信息
3.8.1 首先判断学生学号是否正确,若不正确,会提示错误并跳过,进行下一次学生信息管理系统功能选择
3.8.2 学号正确,输入要修改的字段和新的值
3.8.3 若修改的字段不存在,会提示错误信息并跳过,进行下一次学生信息管理系统功能选择
3.8.4 若存在,进行信息修改
3.9 增加学生信息会提示指定格式,直接输入即可新增学生信息
3.10 删除学生信息,输入学号即可
3.11 学生信息管理系统输入不正确时,会提示输入有误并跳过,进行下一次学生信息管理系统功能选择
欢迎大家留言与我交流!
资源下载连接
源码下载见:下载链接