【SQL开源代码栏目提醒】:网学会员在SQL开源代码频道为大家收集整理了“数据库课程设计C#(论文+源码) - 毕业设计“提供大家参考,希望对大家有所帮助!
本科数据库课程设计
报告 题 目:课程基本信息系统 目 录第一章 需求分许…………………………3 1.1 项目概述……………………………3 1.2 主要功能模块…………………………3 1.3 .设计目标及系统功能结构操作………3第二章 数据库设计……………………4 2.1 概念设计……………………………4 2.1 逻辑设计……………………………5 2.3 物理设计……………………………6 第三章 开发平台、开发工具、后台数据库介绍…………7 3.1 开发平台 开发工具…………7 3.2 后台数据库…………………7 第四章 关键
代码及主要界面…7 4.1 登入界面及
代码设计……7 4.2 公共类 SqlHelper 主要
代码(包含连接数据库
代码)…10 4.3学生课程查询界面及
代码……………………12 4.4 管理员课程信息管理界面及
代码……………13 4.5 任课老师信息查询界面及
代码………………15 第一章 需求分析1.1 项目概述: 课程管理系统在学校日常组织教学管理中发挥重大作用,是教学有序的安排,传统的管理手段弊端很多吗,课程的增加统计及修改处理
工作量不小,特别是在一个大学里,学院较多,各学院所学课程也迥然不同,本次的系统使得课程管理效率大大提高,由此我们知道,只有采用信息化的
管理系统,才能使效率大大提高。
本系统采用是一个基于 C语言开发的 windows 应用程序,她的可可视化操作不仅对于课程管理人员来说简化了操作,且易维护,而且对于面向学生的课程查询也变得简便的多。
1.2 主要功能模块:1.2.1 登入模块 该模块主要用于用户的登入,根据用户的用户名 ID 判断该用户的级别(主要分为学生和管理员两种级别),根据级别进入不同的主界面1.2.2 管理员管理模块 该模块主要实现课程的管理(如课程类型的设定,老师的认定,课时的安排等),如增加某门课程,删除修改及查询。
1.2.3 学生查询课程信息模块 该模块主要实现学生课程信息的查询1.2.4 帮助模块 该模块主要实现用户的个人信息修改,如登入用户名,密码等的修改,关于本系统,重新登入和退出系统等功能1.3.
设计目标及系统功能结构操作1.3.1 设计目标 本系统属于小型的数据库课程管理系统, 可以对小型的课程系统进行有效的管理。
通过本系统可以实现: ① 灵活的录入数据,使信息传递更快捷 ② 实施方便的后台管理功能 ③ 本系统采用人机交互式,界面友好,操作简便,数据存储安全可靠 ④ 实现精确查询和模糊
查询,满足不同需求 ⑤ 实现课程按不同类别进行统计,清楚明了 ⑥ 系统易维护易操作1.3.2 系统功能结构 本系统功能结构如图 1.3.2 所示:
课程基本信息系统 客户端 后台管理 个 课 课 用 任 后 用 老 课 人 程 程 户 课 台 户 师 程 信 信 信 身 老 数 信 信 信 息 息 息 份 师 据 息 息 息 修 查 管 验 信 库 管 管 管 改 询 理 证 息 维 理 理 理 护 第二章 数据库设计 2.1 概念设计 根据上面的设计,本
系统规划出来的实体主要有课程信息实体用 (学生 管理员)信息实体老师信息实体 本系统主要实体间关系 E—R 图如图 2.1 所示: 年龄 性别 名字 ID 号 入校时间 学院 班级 老师ID 号 姓名 姓名 m ID 号 教授 管理员 m 1n 1(n) 1n m 学生 管理 查询(学 习) 课程表(课程) 学院 学院密码 密码 错误次数 错误次数 图 2.1 2.2 逻辑设计 主要数据表的结构如下: □ Users(用户信息表) 表 Users 用于保存用户的基本信息, 并设置了用户级别, 该表结构如表 2.2.1 所示 表 2.2.1—用户表 字段名 数据类型 长度 主键(外键) 允许 Null 描述 否 ID nvarchar 15 主键 不 用户 ID Name nvachar 10 否 允许 用户名 Class nchar 10 否 允许 所属班级 Dept nvarchar 50 否 允许 所属学院 Password nvarchar 50 否 不 密码 Errortimes int 有限 否 不 错误次数 UserType nvarchar 50 否 不 用户类型 □ Courses(课程信息表) 该表用于存储课程的详细信息,该表的结构如表 2.2.2 所示 表 2.2.2—课程信息表 字段名 数据类型 长度 主(外)键 允许 Null 描述 Cno int 有限 主 不 课程号 Cname nvarchar 50 否 不 课程名 Ccredit Float 有限 否 允许 学分 Cquality Nvarchar 50 否 允许 性质 Tname nvarchar 50 否 允许 老师 Major nvarchar 50 否 允许 专业 Clesson Int 有限 否 允许 课时 Cdept Nvarchar 50 否 允许 学院 Copentime Datetime 有限 否 允许 开课时间□ Teachers老师基本信息表该表用于保存老师基本信息,该表结构如 2.2.3 所示 表 2.2.3—老师信息表 字段名 数据类型 长度 主(外)键 允许 Null 描述 ID Nchar 10 主 不 老师 ID Tname Nvarchar 20 否 不 老师名 Tage Smallint 有限 否 允许 年龄 Tsex Nchar 10 否 允许 性别 Tdept Nvarchar 20 否 允许 学院 Tstart Datetime 8 否 不 任职时间 Topsition Nvarchar 50 否 不 职位2.3 物理设计 本系统后台数据库为
SQL Server数据库名称为课程基本信息系统,其中包含三张表为使读者对本系统中的数据表认识更清晰,数据表树形结构图如下所示: 第三章 开发平台、开发工具、后台数据库介绍 3.1 开发平台 开发工具 □系统开发平台:Microsoft Visual Studio 2010 □系统开发语言:C 3.2 后台数据库 □数据库系统:
SQL Server 2008 第四章 关键
代码及主要界面 4.1 登入界面及
代码设计 该界面用于用户登入系统主界面进行使用,该界面如下图所示: 在登入时只有合法的用户才可以进入系统,同时,系统还根据登录的用户级别给以不同的操作权限,该系统时让不同的用户级别进入不同的主界面。
该界面
代码首先声明了一个全局变量用于保存登录用户名, 然后声明了一个公共类SqlHelper.cs,将不同的方法封装在该类中,如ExecuteNonQuerystringsql params SqlParameter parameters,等方法,它们是些可重用
代码,主要用于整个系统。
连接数据库的
代码就封装在不同的方法中 单击登录按钮时,
程序调用公共类中及自己的相应方法,判断用户名和密码是否正确,若正确根据用户级别将用户传到主窗体中利用三个标签提示不同的登录错误信息,若错误一次,数据库中 Users 表中的 errortimes 就加一次,知道第四次使得登录的用户名不可用,只有管理员修改数据库这个字段的值才能使用,提高了安全性。
【用户登录】按钮的 Click 事件主要
代码如下:private void btnLogin_Clickobject sender EventArgs e DataTable dt SqlHelper.ExcuteDataTablequotselectIDUserTypePasswordErrortimes from Users where IDIDquot new SqlParameterquotIDquot cmbUserName.Text UserID cmbUserName.Text ifcmbUserName .Text string.Empty lbUserNameNull.Visible false if dt.Rows.Count gt 0 DataRow row dt.Rows0 string password Convert.ToStringrowquotPasswordquot string usertype Convert.ToStringrowquotUserTypequot int errortimes Convert.ToInt32rowquotErrortimesquot if errortimes gt 3 lbErrorTimesMore.Visible true lbErrorTimesMore.Text quot您¨的账号为a:êoquot cmbUserName.Text quot密¨码错¨误¨次数y过y多¨¤, ê请联a系管¨理¤¨员!ê)êquot MessageBox.Showquot登入¨次数y过y多¨¤,ê程¨序¨°将不可¨用quot return if txtPWD.Text string.Empty lbPWDNull.Visible false if radStudent.Checked ampampConvert.ToStringrowquotUserTypequot quot学ì生¨quot if txtPWD.Text pass
word MessageBox.Showquot密¨码错¨误¨quot SqlHelper.ExecuteNonQueryquotupdate Usersset Errortimes1 where IDIDquot new SqlParameterquotIDquotcmbUserName.Text return else this.Hide Students.StudentQueryForm sqf newStudents.StudentQueryForm sqf.Show SqlHelper.ExecuteNonQueryquotupdate Usersset Errortimes0 where IDIDquot new SqlParameterquotIDquotcmbUserName.Text else if radAdmin.Checked ampampConvert.ToStringrowquotUserTypequot quot管¨理¤¨员quot if txtPWD.Text password MessageBox.Showquot密¨码错¨误¨quot SqlHelper.ExecuteNonQueryquotupdate Usersset Errortimes1 where IDIDquot new SqlParameterquotIDquotcmbUserName.Text return else this.Hide Administrator.CourseMangeForm cmForm newAdministrator.CourseMangeForm cmForm.Show SqlHelper.ExecuteNonQueryquotupdate Usersset Errortimes0 where IDIDquot new SqlParameterquotIDquotcmbUserName.Text else MessageBox.Showquot请选择正y确¨¤的访¤问¨类¤¨¤型¨!êquot else lbPWDNull.Visible true else MessageBox.Showquot用户ì名不存在¨quot else lbUserNameNull.Visible true 4.2公共类SqlHelper主要
代码(包含连接数据库
代码)class SqlHelper public static int ExecuteNonQuerystring
sql paramsSqlParameter parameters string connstr quotData SourceKUNGGE-PCInitialCatalog课程¨基¨本信息é系统3Integrated SecurityTruequot//这条及以下几条为连接数据库
代码 using SqlConnection conn new SqlConnectionconnstr conn.Open using SqlCommand cmd conn.CreateCommand cmd.CommandText
sql foreach SqlParameter parameter in parameters cmd.Parameters.Addparameter return cmd.ExecuteNonQuery public static DataTable ExcuteDataTablestring
sql paramsSqlParameter parameters string connstr quotData SourceKUNGGE-PCInitialCatalog课程¨基¨本信息é系统3Integrated SecurityTruequot using SqlConnection conn new SqlConnectionconnstr conn.Open using SqlCommand cmd conn.CreateCommand cmd.CommandText
sql foreach SqlParameter parameter in parameters cmd.Parameters.Addparameter DataSet ds new DataSet SqlDataAdapter sda new SqlDataAdapter sda.SelectCommand cmd sda.Fillds return ds.Tables0 public static object ExecuteScalarstring
sql paramsSqlParameter parameters // string connstr quotDataSource.SQLEXPRESSAttachDBFilenameDataDirectoryDatabase2.mdf //Integrated SecurityTrueUser InstanceTruequot string connstr quotData SourceKUNGGE-PCInitial Catalog课程¨基¨本信息é系统3Integrated SecurityTruequot using SqlConnection conn new SqlConnectionconnstr conn.Open using SqlCommand cmd conn.CreateCommand cmd.CommandText
sql foreach SqlParameter parameter in parameters cmd.Parameters.Addparameter return cmd.ExecuteScalar 4.3学生课程查询界面及
代码下图为学生课程查询主界面: 该模块主要用于学生查询课程信息,根据查询条件及关键字将信息列出来,在该模块中学生可以修改自己的个人信息。
下面为实现查询的主要关键
代码部分核心: private void StudentQueryForm_Loadobject sender EventArgs e // TODO: 这a行D代¨码将数y据Y加¨载到表¨“课程¨基¨本信息é系统3DataSet.Courses”中D。
ê您¨可¨以°根¨据Y需¨¨要°a移°动或¨°删除y它¨。
ê this.coursesTableAdapter.Fillthis.课程¨基¨本信息é系统3DataSet.Courses label10.Text quot当前用户ì:êoquot LoginForm.UserID SetPanel2true tscmbQueryCondition.SelectedIndex 0 private void toolStripButton1_Clickobject sender EventArgs e if tstxtKeywords.Text quotquot MessageBox.Showquot请输入¨关键¨字quot quot提¨示quot MessageBoxButtons.OK MessageBoxIcon.Information else if tscmbQueryCondition.Text quot课程¨名quot string
sql string.Formatquotselect from Courseswhere Cname like 0quot tstxtKeywords.Text .