版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文)题 目高校教学与课表制作管理系统 学 院计算机与信息工程学院 专 业信息管理与信息系统 班级 信息管理021 姓 名 学号 024631159 指导教师 职称讲师 目 录摘要1前言21 系统设计21.1 系统总体设计方案21.2 系统数据库设计21.3 系统模块结构图31.4 部分模块功能详细设计41.4.1 系统管理41.4.2 数据管理41.4.3 课程管理41.4.4 排课课程52 系统数据库设计53 系统功能的实现73.1 用户管理73.2 学院管理73.3 专业管理83.4 班级管理93.5 教师管理103.6 教室管理113.7 全校课程管理123.8 学院课程管理
2、133.9 班级课程管理143.10 教师课程管理153.11 排课课程浏览153.12 数据库的连接174 系统测试与性能分析214.1 系统测试214.2 性能分析215 结论22谢辞23参考文献24高校教学与课表制作管理系统 摘要:课程表是学校教学工作的运行图,课程调度是高校教务管理的重要工作,排出科学,合理,运行高效的课程表,是教学管理工作追求的目标。本系统改进了需求资源矩阵的算法,并以此为核心,设计并实现了课程调度系统,较好地解决了高校的课程调度问题。关键词:教学管理;排课;课表管理系统前言在学校教务管理中,课表管理是一项重要而艰苦的工作,它包括课表的编排,修改,查询和打印等多项工作
3、,其中课表编排尤为复杂,它需要综合协调学校中的人力,物力和时间,安排好学校的主要教学活动;同时,课表编排又是一个比较复杂的时间调度问题。课表调度要涉及学生,教师和设备等多种因素,在课表编制中,随着各种因素的增多,数据量与计算量急剧增加。因此,计算机用于课表管理是非常必要也是可行的。随着计算机技术的迅速发展,计算机在各项管理中的应用已经非常普及,利用计算机进行教育教学管理势在必行。特别是对于规模较大的学校来说,利用计算机可以高效率地完成教学管理的日常事务,使教学管理工作更加适应现代教育机制的要求,并推动教育教学管理走向科学化,规范化。“排课管理”是一项琐碎,复杂而又十分细致的工作,关系到学校日常
4、工作能否顺利进行,以及整个学期教学计划能否按时完成。一旦出现课程排列冲突,比如,一个教师同一时间上两门课,或者有两个教师同时去一个教室上不同的课程,必将产生教学混乱等现象,使日常教学工作不能正常运行,或者使得人力物力资源不能合理有效地利用,如果用手工操作,会耗费教务人员大量的时间和精力,用计算机进行排课管理工作,不仅能够保证课程表准确无误,快速输出,而且还可以利用计算机对有关教师信息和课程设置情况进行统筹安排,并与教师管理,学生学籍管理等其它教学管理工作有机地结合起来。同时计算机有着手工管理所无法比拟的优点,例如:“修改”,“添加”,“删除”容易;检索迅速,查找方便;可靠性高,存储量大等。这些
5、优点能够极大地提高教育教学管理工作的效率,也是实现教育现代化的重要组成部分。1 系统设计1.1 系统总体设计方案(1)初始设置:此功能在开始排下一学期课时,要删除上学期在排课过程中产生的数据库;输入系统初始化信息(上次的信息可以载入);输入本次排课所能占用的时间;对基本数据库中某些字段的值进行修正。(2)数据管理。管理基本数据库中的数据,生成排课过程中需要用到的中间数据库,可以对教师,教室,课程,专业,班级等信息,进行模糊查询,对数据进行添加,删除,修改和打印。(3)排课管理:此功能对有特殊要求的课程,教室,教师,时间,班级进行管理;对因教师资源紧缺或因其它原因,需要合班的班级进行处理;自动课
6、表管理;对排课结果可以进行手工修改。(4)课表管理:可以对校总课表,学院总课表,教师课表,教室课表进行打印、查询。(5)系统服务:对数据进行备份/恢复,对数据库进行索引维护,进行用户设置(设置用户对软件的使用权限,如查询权,排课权等)。1.2系统数据库设计在系统分析之后,我们发现数据及查询之间存在一对一,一对多,多对一及多对多各种数据联系,在保证数据全面而冗余度小的情况下,设计了如下数据库及其结构。(1)学院信息库:学院编号,学院名称。(2)全校专业设置库:专业号,学院编号,专业名称,学制。(3)班级信息库:班级号(年级号+专业号+顺序号),班级名称,学院编号,专业编号,学生人数,班主任,入校
7、时间,毕业时间。(4)教师信息库:所在学院,所学专业,教师编号,教师名称,性别,联系电话,办公室电话,家庭电话,mail等字段。(5)教室信息库:教室号,教室名称,教室位置,教室容量,教室特性,备注,占用状态(全占,部分占用,没占)。(6)全校课程库:课程号,课程名,简称,总学时数,周学时,学分,考试形式。(7)学院课程库:学院编号,课程编号,考试类型,课程类型。(8)班级课程库:班级编号,课程编号,课程名称,类别,类别(校必修、学院必修,选修,专业任选,任选)。(9)班级-教师-课程库:班级名,教师名,课程名,周学时,周次数,类别,人数在班级-课程库中,按记录对课程1课程m(判断不为空时nu
8、ll)依次取出字段值,截取出课程名,课型和类别;在课程库中查出周学时;在班级库中对应班级号查出班级名,人数;在教师库中由课程类别,判断出被选中次数少且职称符合该类别的并且带该门课的教师名,当该教师被选中后,被选中次数自动+1。再对课程2(判断不为空时null)取出字段值,如此循环。排课前将该表发到系里,由教师修改后收回,修改库中内容。(10)时间模型库(time):时间编号,时间名称,时间代码。为了便于排课,建立时间安排模型如表所示。表1-1 建立的时间安排模型表星期一星期二星期三星期四星期五(1,2节)1121314151(3,4节)1222324252(5,6节)1323334353(7,
9、8节)1424344454(9,10节)1525354555(11)排课总表:教师编号,班级编号,教室编号,课程编号,时间代码。在排课过程中,需要生成中间库,这些库是在以上库的基础上产生的。1.3系统模块结构图系统模块结构图如图1-1所示。高校教学与课表制作管理系统排课课程课程管理数据管理系统管理注册用户信息浏览系统用户更改用户口令学院信息管理专业信息管理班级信息管理教师信息管理教室信息管理全校课程设计学院课程设计班级课程设计教师课程设计班级课表浏览教师课表浏览班级课表打印教师课表打印图1-1 系统模块结构图1.4 部分模块功能详细设计1.4.1 系统管理(1)注册用户信息:用户权限类型的不同
10、,系统中添加管理员和普通用户两种类型的用户信息,用户信息包括用户名,密码,权限等。(2)浏览系统用户:系统的所有用户信息包括用户名和用户类型等信息进行浏览。(3)更改用户口令:为了达到系统的安全的目的, 在系统设计时, 使用了用户口令信息的更改。1.4.2数据管理(1)学院信息管理:对学院的基本情况,学院名称,学院编号等信息进行管理,可以进行查询,打印,增加,删除,修改。(2)专业信息管理:对专业的基本情况进行管理,可以进行查询,打印,增加,删除,修改。(3)班级信息管理:对班级的基本情况进行管理,可以进行查询,打印,增加,删除,修改。班级编号是学院和专业的编号自动计算出来,班级编号(年级号+
11、专业编号)字段的值。修改班级号是编辑编号作触发器,当班级库中的“班级编号”字段有值时,显示出来提示。(4)教师信息管理:对教师的基本情况,所带课程,是否参加本次排课等信息进行管理,可以进行查询,打印,增加,删除,修改。(5)教室信息管理:对教室的基本情况,教室编号,教室名称,教室位置,教室容量,教室特点等信息进行管理,可以进行查询,打印,增加,删除,修改。1.4.3课程管理(1)全校课程设计:系统排课中所需的所有课程的基本信息进行管理,可以进行添加,修改,删除,浏览。(2)学院课程设计:在全校课程库中选择学院课程,对学院课程的基本情况进行管理,可以进行添加,修改,删除,浏览。(3)班级课程设计
12、:在学院课程库中选择班级课程,对班级课程的基本情况进行管理,可以进行添加,修改,删除,浏览。(4)教师课程设计:在全校课程库中选择教师课程,对教师课程的基本情况进行管理,可以进行添加,修改,删除,浏览。1.4.4排课课程首先在窗口中的“安排课程”按钮来进行班级课程信息表中的所有班级课程进行自动安排后,浏览窗口中选择班级所在的学院,指定的班级课程信息显示在指定的表格中,在表格中的课程信息浏览,通过打印功能可以打印每个班级和每个教师的课程表。(1)班级课表浏览:浏览班级的课表信息,包括课程名称,教室位置,教师等。(2)教师课表浏览:浏览教师的课表信息,包括课程名称,教室位置,班级等。(3)班级课表
13、打印:打印班级课程表,包括课程名称,教室位置,教师名称等。(4)教师课表打印:打印教师课程表,包括课程名称,教室位置,班级名称等。2 系统数据库设计在数据库的选择上,我们选择了microsoft 公司的sql server 2005数据库。数据库名称jskbook.db数据库是有18张表构成。最主要的是:用户管理,学院管理,专业管理,班级管理,教师信息,教室信息,全校课程信息,学院课程信息,班级课程信息,教师课程信息,班级课程教师信息,时间信息,排课信息等。分别如表2-1,表2-2,表2-3,表2-4,表2-5,表2-6,表2-7,表2-8,表2-9,表2-10 ,表2-11,表2-12所示。
14、表2-1 用户管理表名称数据类型主键用户名称varchar(10)false用户密码varchar(10)false用户权限smallintfalse表2-2 学院管理表名称数据类型主键学院编号inttrue学院名称varchar(50)false表2-3 专业管理表名称数据类型主键专业名称varchar(50)false专业编号inttrue学院编号intfalse学制intfalse表2-4 班级管理表名称数据类型主键班级编号inttrue班级名称varchar(50)false学院编号intfalse专业编号intfalse班级人数intfalse班主任intfalse入校时间intfa
15、lse毕业时间intfalse表2-5 教师信息表名称数据类型主键教师编号inttrue教师名称varchar(50)false所在学院intfalse所学专业varchar(50)false性别varchar(50)false学历varchar(50)false联系电话varchar(50)false办公室电话varchar(50)false家庭电话varchar(50)falsemailvarchar(50)false表2-6 教室信息表名称数据类型主键教室编号inttrue教室名称varchar(50)false教室位置varchar(50)false教室容量intfalse教室特点va
16、rchar(50)false表2-7 全校课程信息表名称数据类型主键课程编号inttrue课程名称varchar(50)false简称varchar(50)false总学时数intfalse周学时数intfalse学分intfalse考试形式varchar(50)false表2-8 学院课程信息表名称数据类型主键学院编号inttrue课程编号inttrue考试类型varchar(50)false课程类型varchar(50)false表2-9 班级课程信息表名称数据类型主键班级编号inttrue课程编号inttrue课程名称varchar(50)false周学时数intfalse表2-10 教
17、师课程信息表名称数据类型主键课程编号inttrue课程名称intfalse教师编号varchar(50)true周学时数intfalse表2-11 排课总表名称数据类型主键教室编号inttrue时间编号inttrue课程编号intfalse教师编号intfalse班级编号intfalse表2-12 打印课程名称表名称数据类型主键时间编号varchar(50)true星期一varchar(50)true星期二varchar(50)false星期三varchar(50)false星期四varchar(50)false星期五varchar(50)false班级名称varchar(50)false3
18、系统功能的实现本系统采用多文档窗体 mdi程序结构,程序中的登录窗口,学院管理,专业管理,班级管理,教师管理,教室管理,全校课程管理,学院课程管理,班级课程管理,教师课程管理,功能与子窗体一一对应,所有自窗体位于主窗体中。3.1 用户管理通过该模块给系统的不同用户不同的权限来限制他们的可操作范围,从而达到数据的安全性和完整性。根据本系统特点及各领域的工作人员能进行的操作范围的不同我们把用户权限划分为两个类型;管理员用户,一般用户。系统的所有功能每个管理员用户开放的,一般用户只使用系统的一些基本功能。(1)新用户注册:通过该窗体来实现不同类型用户的新建操作。(2)浏览用户信息:通过该窗体来实现所
19、有用户的为浏览操作。(3)修改口令:通过该窗体来实现各个用户可以修改自己的密码。3.2 学院管理通过该模块来管理系统所需的所有学院信息的操作。“学院管理”用户维护整个系统正常运行所需的基础数据,以保证排课系统有一个统一的标准的基础数据,便于数据的共享使用,内容包括学院名称,学院编号等,学院编号为三位的整数组成。该模块包括两个子窗体;(1)学院信息添加:通过该窗体来实现学院信息的添加操作。在添加过程中学院编号是惟一的,输入编号时系统自动检索数据库,如果输入的编号数据库中已经存在系统自动提示重新输入。(2)学院信息浏览:通过该窗体来实现学院信息的浏览操作。在浏览时也可以学院信息添加,修改,删除等操
20、作。图3-1 学院信息浏览界面3.3 专业管理通过该模块来管理系统所需的所有专业信息的操作。“专业管理”也是用户维护整个系统正常运行所需的基础数据,以保证排课系统有一个统一的标准的基础数据,便于数据的共享使用,内容包括专业名称,专业编号,学院名称,学制等专业编号为五位的整数组成。该模块只组成一个子窗体;专业信息管理:通过该窗体来实现专业信息的添加,修改,删除和查找等操作。查找按学院的名称查找出来该学院的所有专业信息。图3-2 专业信息管理界面查询功能:主要选择学院名称时显示该学院的相关专业,不选择学院名称时显示所有专业的信息。主要代码如下:if (cmbcxm.text = ) this.sq
21、ldataadapter1.selectcommand.commandtext = strmorensql; this.sqldataadapter1.fill(this.dataset31, 专业管理); else string wherestr = null;/该变量定义在上面; string xueyuanmingcheng = cmbcxm.text.trim(); wherestr = where 学院管理表.学院名称= + xueyuanmingcheng + ; this.dataset31.clear(); this.sqldataadapter1.selectcommand.
22、commandtext = strmorensql + wherestr; this.sqldataadapter1.fill(dataset31, 专业管理);3.4 班级管理通过该模块来管理系统排课中所需的班级信息。“班级管理”也是用户维护整个系统正常运行所需的基础数据,以保证排课系统有一个统一的标准的基础数据,便于数据的共享使用,内容包括班级名称,班级编号,学院编号,专业编号,班级人数,班主任,所在年级,入校时间,毕业时间等。(1)班级信息添加:通过该窗体来实现专业信息的添加操作。添加班级信息时只选择班级的所在年级,学院,专业等信息,班级编号,班级名称,入校时间,毕业时间等信息系统自动形
23、成的。班级编号=(年级号+专业号),毕业时间=(年级+学制)。(2)班级信息浏览:通过该窗体来实现班级信息的浏览,添加,修改,删除,查找等操作。查找时可以按学院,专业,年级等分类查找,查出来的信息也可以直接修改。图3-3 班级信息浏览界面添加班级信息:首先检查该班级是否存在,如果该班级已经存在数据库中显示相关的提示信息,如果不存在就添加该班级的相关信息。int biyeshijian = ruxiaoshijian + xuezhi; /毕业时间=入校时间+学制;string sqlstr = insert into 班级管理(班级编号,班级名称,学院编号,专业编号,班级人数,班主任,入校时间
24、,毕业时间) values(;sqlstr += ibanjibanhao + , + txtbanjimc.text.trim() + , + xueyuanbianhao + , + zhuanyebianhao + , + banjirenshu;sqlstr += ,+txtbanzhur.text.trim()+,+ruxiaoshijian+,+biyeshijian+);: int iret = caozuodb.executesql(sqlstr);if (iret 0) messagebox.show(班级添加成功!, 提示信息, messageboxbuttons.ok,
25、messageboxicon.information); 3.5 教师管理通过该模块来管理系统排课中所需的所有教师信息。“教师管理”也是用户维护整个系统正常运行所需的基础数据,以保证排课系统有一个统一的标准的基础数据,便于数据的共享使用。(1)教师信息添加:通过该窗体来实现教师信息的添加操作。在添加过程中只选择教师所在的学员就教师编号的前两位系统自动添加这是便衣查找某学院的教师或教师所在学院。教师编号也是惟一的,输入编号时系统自动检索数据库,如果输入的编号数据库中已经存在系统自动提示重新输入。(2)教师信息浏览:通过该窗体来实现教师信息的浏览,添加,修改,删除,查找等操作。查找时可以按学院,名
26、称,学历等分类查找查出来的信息也可以直接修改。图3-4 教师信息浏览界面删除教师信息:删除在显示表格中制定行内容;jsbh = (datagridview1.currentrow.cells0.value.tostring();string sqlstr = delete 教师信息 where 教师编号= + jsbh;int iretval = caozuodb.executesql(sqlstr);if (iretval 0) messagebox.show(教师信息删除成功, 提示, messageboxbuttons.ok, messageboxicon.information);th
27、is.dataset41.tables学院管理表.clear();this.sqldataadapter1.fill(this.dataset41, 学院管理表);/在dataset41中添加学院管理表3.6 教室管理通过该模块来管理系统排课中所需的所有教室信息。“教室管理”也是用户维护整个系统正常运行所需的基础数据,以保证排课系统有一个统一的标准的基础数据,便于数据的共享使用,内容包括教室名称,教室编号,教室位置,教室容量,教室特点等教师特点表示教室的类型(普通,合班,多媒体,多媒体合班等内容)教室编号表示教室所在那号楼,那一层等信息。(1)教室信息添加:通过该窗体来实现教室信息的添加操作。
28、在添加过程中只输入教室编号,教室的名称,位置,那号楼,那一层等信息系统自动显示出来。(2)教室信息浏览:通过该窗体来实现教室信息的浏览,添加,修改,删除,查找等操作。查找可以按编号,类型,楼号等分类查找,查出来的信息也可以直接修改。图3-5 教室信息界面添加教室信息:首先检测要添加教室的教室编号是否存在数据库里,如果存在显示相关的提示信息,不存在就添加相关教室信息。主要代码为如下:string sqlstr = insert into 教室信息(教室编号,教室名称,教室位置,教室容量,教室特点) values( sqlstr += jsbh + , + txtjsm.text.trim() +
29、 , +txtjswz.text.trim() + , + jsrl + , + cmbjstd.text.trim()+ );int iret = caozuodb.executesql(sqlstr);if (iret 0)messagebox.show(教室信息添加成功!, 提示信息, messageboxbuttons.ok, messageboxicon.information);3.7 全校课程管理通过该模块来管理系统排课中所需的所有课程信息。“全校课程管理”也是用户维护整个系统正常运行所需的基础数据,以保证排课系统有一个统一的标准的基础数据,便于数据的共享使用,内容包括课程名称,
30、课程编号,简称,总学时数,周学时数,学分,考试类型(考试课,考查课)等。(1)全校课程添加:通过该窗体来实现课程信息的添加操作。在添加过程中系统自动检索该课程,如果数据库中已经存在改课程,自动显示相关信息。(2)全校课程浏览:通过该窗体来实现课程信息的浏览,添加,修改,删除,查找等操作。查找可以按名称,类型等分类查找,查出来的信息也可以直接修改。图3-6 课程信息管理界面修改课程信息的主要代码为如下:string sqlstr = update 全校课程信息 set 课程编号= + kcbh + ,课程名称= + txtkcmc.text.trim() + ,简称= +txtjc.text.t
31、rim() + ,总学时数= +zxs + ,周学时数= + zxss+ ,学分= +xf+ ,考试形式= +cmbksxs.text.trim()+ where 课程编号= +kcbh;int iretval = caozuodb.executesql(sqlstr); / kcbh = (datagridview1.currentrow.cells0.value.tostring();string sqlstr = delete 全校课程信息 where 课程编号= + kcbh;int iretval = caozuodb.executesql(sqlstr);this.dataset4
32、1.tables全校课程信息.clear();this.sqldataadapter1.fill(this.dataset41, 全校课程信息);3.8 学院课程管理通过该模块来管理系统班级课表排课中所需的所有课程信息。学院课程主要是在学校课程库中选择出来而形成的不能直接输入,选择课程的信息(如:总学时数,周学时数等)学校来制定,学院不能改正。内容包括课程名称,课程编号,简称,课程类型(必须课,选修课,专业必须课,专业任选课)等。该模块只包括一个窗体;图3-7 学院课程信息界面如图所示左边的列表框中显示学校的所有课程,右边显示该学院已经选择的课程。运行该窗体时,首先选择学院名称,按用户选择的学
33、院名称系统在右边的表格中自动显示该学院已经选择的课程信息。选择的课程可以重新,选择,删除,等操作。添加课程信息的主要代码为:string item in checkedlistbox1.checkeditemsdatagridview1.rows.add();datagridview1.rowsdatagridview1.rows.count - 1.cells0.value = item.tostring()已经选择的课程名称删除在列表框中的主要代码为:checkedlistbox1.items.remove(checkedlistbox1.checkeditemsi);int icount
34、 = datagridview1.selectedrows.count;for (int i = icount - 1; i = 0; i-)checkedlistbox1.items.add(datagridview1.selectedrowsi.cells0.value.tostring();datagridview1.rows.remove(datagridview1.selectedrowsi);3.9 班级课程管理通过该模块来管理系统班级课表排课中所需的所有课程信息。班级课程主要是在学院课程库中选择出来而形成的不能直接输入,选择课程的信息(课程类型)学院来制定,班级不能改正。内容包括
35、课程名称,课程编号,课程类型(必须课,选修课,专业必须课,专业任选课)等。该模块只包括一个窗体;图3-8 班级课程信息界面选择学院名称时,系统自动显示该学院的所有课程和班级信息,该操作由以下两个函数来完成;inpurtxykecheng和inpurtclass。private void inpurtclass()string xybh = convert.tostring(xueyuanbianhao);string bjmc = select 班级名称 from 班级管理 where (专业编号 like + xybh + %); /(教师编号 like 46%)cmbbanji.items
36、.clear();cmbbanji.text = ;object retval = null;int bjmc = caozuodb.executeselect(bjmc, out retval);private void inpurtxykecheng() this.checkedlistbox1.items.clear();object retval = null;lianjie = select 课程编号 from 学院课程信息 where 学院编号= xybh;int iret = caozuodb.executeselect(strlianjie, out retval);if (i
37、ret 0)foreach (object strtxt in retval)string hkcmc = select 课程名称 from 全校课程信息 where 课程编号= + convert.toint32(strtxt);string kcmc = convert.tostring(caozuodb.executescalar(hkcmc);this.checkedlistbox1.items.add(kcmc);3.10 教师课程管理通过该模块来管理系统课表排课中所需的所有教师信息。教师所代替的课程主要是在学校课程库中选择出来而形成的不能直接输入。内容包括课程名称,课程编号,教师编
38、号等。教师所讲的课程一个学期最大有两门课。该模块只包括一个窗体;教师课程信息设计:通过该窗体来实现教师课程信息的添加操作。在添加过程中用户选择学院名称时该学院的所有教师显示出来,然后只制定教师名称时系统自动显示该教师所在学院的所有课程,选择教师该学期所讲的课程名称。教师不能直接输入自己所代替的课程和更改课程信息。教师选择课程时,可以重新选择,增加,删除,查找等操作。图3-9 教师课程设计界面选择课程后,首先删除以前存在的课程信息,然后新选择的内容存放在数据库中主要代码为如下。string delete = delete 教师课程信息 where 教师编号= + jiaoshibianhao;i
39、nt iretval = caozuodb.executesql(delete);string sqlstr = insert into 教师课程信息(课程编号,课程名称,教师编号) values(kcbh + , + kcmc + , + jiaoshibianhao + );int iret = caozuodb.executesql(sqlstr); /调用数据库修改的函数。3.11 排课课程浏览通过该模块来浏览和打印系统的班级课表信息和教师课表信息。班级课程表主要是班级所有课程的课程名称,教室位置,教师名称等。教师课程表主要是教师所有课程的课程名称,教室位置,班级名称等。该模块只包括一
40、个窗体;图3-10 课程表浏览界面主要代码为如下。linkdatabase link = new linkdatabase();string sendtable = 排课总表;this.ds = link.selectdatabase(sendstrsql, sendtable);this.mytable = ds.tables排课总表;for (int i = 0; i mytable.rows.count; i+)string shijianid = this.mytable.rowsi.itemarray1.tostring(); int kcid = this.mytable.rows
41、i.itemarray2.tostring();/获得课程编号hkcmc = select 课程名称 from 全校课程信息 where 课程编号= + kcid;kcmc = convert.tostring(caozuodb.executescalar(hkcmc); /获得课程名称int hs = convert.toint32(shijianid.substring(1, 1); /在表格中显示行上的位置;int ls = convert.toint32(shijianid.substring(0, 1); /在表格中显示列上的位置;datagridview2.rowshs - 1.c
42、ellsls.value = kcmc; /填充课程名称信息;jiaoshiid = this.mytable.rowsi.itemarray0.tostring();/获教室编号datagridview1.rowshs - 1.cellsls.value = jiaoshiid; /填充教室编号teacherid = mytable.rowsi.itemarray3.tostring();/获得教师编号hjsmc = select 教师名称 from 教师信息 where 教师编号= + teacherid;jsmc = convert.tostring(caozuodb.executesc
43、alar(hjsmc);/获得教师名称this.datagridview3.rowshs - 1.cellsls.value = jsmc;/填充教师名称string kcxx = kcmc + + jiaoshiid+ +jsmc;/课程信息;3.12 数据库的连接在建立数据库应用程序过程中,需要经常与sql server 数据源进行交互。本系统的所有数据源的连接,查询和读取数据都是创建一个类(linkdatabase.cs),命令方式来实现的。该类的代码为如下:using system;using system.collections.generic;using system.text;u
44、sing system.data;using system.data.sqlclient;namespace kbgl / 高校教学与课表管理系统;class linkdatabaseprivate string strsql;/连接字符串设置;public static string username;private string connectionstring = workstation id=localhost;integrated security=sspi;database=jxkbook;/与数据库的连接private sqlconnection myconnection;pri
45、vate sqlcommandbuilder sqlcmdbld;private dataset ds = new dataset();private sqldataadapter da;public linkdatabase()connectionstring = caozuodb.constr;/根据输入的sql语句检索数据库数据public dataset selectdatabase(string tempstrsql,string temptablename) this.strsql = tempstrsql;this.myconnection = new sqlconnection
46、(connectionstring);this.da = new sqldataadapter(this.strsql,this.myconnection);this.ds.clear();this.da.fill(ds,temptablename);return ds;/返回填充了数据的dataset,其中数据表以temptablename 给出的字符串命名/数据库数据更新(传dataset和datatable的对象)public dataset updatedatabase(dataset changeddataset,string tablename)this.myconnection
47、= new sqlconnection(connectionstring);this.da = new sqldataadapter(this.strsql,this.myconnection);this.sqlcmdbld = new sqlcommandbuilder(da);this.da.update(changeddataset,tablename);return changeddataset;/返回更新了的数据库表/检索数据库数据(传字符串,直接操作数据库)public datatable selectdatabase(string tempstrsql)this.myconnec
48、tion = new sqlconnection(connectionstring);dataset tempdataset = new dataset();this.da = new sqldataadapter(tempstrsql,this.myconnection);this.da.fill(tempdataset);return tempdataset.tables0;/数据库数据更新(传字符串,直接操作数据库)public int updatedatabase(string tempstrsql)this.myconnection = new sqlconnection(conne
49、ctionstring);/使用command之前一定要先打开连接,后关闭连接,而dataadapter则会自动打开关闭连接myconnection.open();sqlcommand tempsqlcommand = new sqlcommand(tempstrsql,this.myconnection);int intnumber = tempsqlcommand.executenonquery();/返回数据库中影响的行数myconnection.close();return intnumber;在程序中只要创建一个link database的实例,然后调用其中相应的函数既可。在建立系统
50、的各子窗体程序过程中,经常需要相应的数据表中添加,修改,删除,查找等数据的操作和返回一些数据都是一个类(caozuo)中调用相应的函数来完成。该类的代码为如下:using system;using system.collections.generic;using system.windows.forms;using system.text;using system.data;using system.data.sqlclient;namespace kbgl class caozuodb public static string tjsc = 添加; public static string constr = data
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论