很久很久都没有写过博客了,最近上四年级的儿子对编程比较有兴趣,想来想去学籍管理系统可能是大家做的最多的了,遇到不懂的也好找一些例子来看,今天开始先制作一个C/S学籍管理系统,采用使用三层模式,以后再做B/S三层,大家发现问题还请指正。
需求分析:记录每一位学生的学习成绩,并对学生成绩进行统计。
功能模块:学生基本信息管理、班级信息管理、课程信息管理、专业信息管理、成绩管理、系统维护
架构:C/S
开发环境:VS2015专业版
开发语言:C#
数据库:SQL SERVER 2012
操作系统:Windows 7旗舰版 x64
数据库结构:
表名:StudentsInfo 学生信息
字段:StudentsID(学生编号)、StudentsNumber(学生学号)、Year(入学年份)、SpecialtyName(专业名称)、StudentsName(学生名字)、IDCAR(身份证号)、Address(家庭住址)、DormNum(宿舍号)、TelePhone( 电话)、Photo(照片)、EmergencyContact(紧急联系人)、ContactTelephone(紧急联系人电话)、State(状态)、Remark(备注)
表名:TeacherInfo 教师信息
字段:TeacherID(教师ID)、TeacherName(教师姓名)、TeacherTelephone(教师电话)、TeacherSpecialty(教授专业)、Remark(备注)
表名:ClassInfo 班级信息
ClassID(班级ID)、ClassName(班级名称)、ClassTeacher(班主任)、ClassNumber(班级号)、ClassRemark(备注)
表名:ScoreInfo 成绩信息表
字段:ScoreID(成绩编号)、Semester(学期)、StudentNumber(学生学号)、StudentCourseName(课程)、StudentScore(成绩)、StudentRemark(备注)
表名:SpecialtyInfo 专业信息
字段:SpecialtyID (专业编号)、SpecialtyName(专业名称)、SpecialtyRemark(备注)
表名:UserInfo 用户信息
UserID(用户编号)、AdminName(登陆用户名)、AdminTruename(用户真实姓名)、AdminPassword(用户密码)、AdminTelephone(用户电话)、AdminCreateTime(创建时间)、AdminLev(级别)、AdminState(状态)、AdminRemark(备注)
上面是初步的设计 实际上随时会调整,以代码和上传的文件为主。
先做用户登陆界面 完整的 UserInfo表信息
USE [Students]
GO
/****** Object: Table [dbo].[UserInfo] Script Date: 2021/3/13 21:09:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[UserInfo](
[AdminID] [int] IDENTITY(1,1) NOT NULL,
[AdminName] [nvarchar](10) NOT NULL,
[AdminTrueName] [nvarchar](20) NOT NULL,
[AdminPassword] [nvarchar](32) NOT NULL,
[AdminTelephone] [nvarchar](11) NULL,
[AdminLev] [int] NOT NULL,
[AdminCreateTime] [nvarchar](30) NOT NULL,
[AdminState] [int] NOT NULL,
[AdminRemark] [ntext] NULL,
CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED
(
[AdminName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[UserInfo] ADD CONSTRAINT [DF_UserInfo_AdminCreateTime] DEFAULT (getdate()) FOR [AdminCreateTime]
GO
ALTER TABLE [dbo].[UserInfo] ADD CONSTRAINT [DF_UserInfo_AdminState] DEFAULT ((1)) FOR [AdminState]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登陆用户名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户真实姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminTrueName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户密码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminPassword'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminTelephone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户权限等级' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminLev'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminCreateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户状态1使用 0禁止' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'UserInfo', @level2type=N'COLUMN',@level2name=N'AdminState'
GO