数据库应用课程设计实验报告.pdf

上传人:叶*** 文档编号:36136946 上传时间:2022-08-25 格式:PDF 页数:40 大小:1.69MB
返回 下载 相关 举报
数据库应用课程设计实验报告.pdf_第1页
第1页 / 共40页
数据库应用课程设计实验报告.pdf_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《数据库应用课程设计实验报告.pdf》由会员分享,可在线阅读,更多相关《数据库应用课程设计实验报告.pdf(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、华 北 科 技 学 院课程设计说明书班级: 计算 B082 姓名:李晓媛 (200809014221)设计题目:_小雨点学生成绩管理系统设计时间:2011.1.10至2011.1.21指导教师:丁智斌评语:_评阅成绩:评阅教师:华北科技学院课程设计说明书第 1 页 共 39 页目录目录设计总说明.3关键词.4绪论.5第 1 章 数据库设计.61.1 需求分析.61.1.1 数据需求.61.1.2数据字典.61.1.3数据流程图.71.2概念分析. 71.3逻辑结构设计. 91.4物理实施. 91.4.1 创建数据库.91.4.2 创建数据表.101.4.3 像数据表中插入数据.101.4.4

2、创建视图.121.4.5 触发器和完整性约束.121.4.6 存储过程.13第 2 章 系统界面设置及主要功能.142.1 添加主菜单和功能按钮.142.2 登录界面设置.152.3 学生信息增、删、改界面.172.4 对学生信息多角度查询.21总结.27参考文献.28附录 程序代码.291 StuConStr.h 头文件的代码.292 登录界面“确定”按钮代码.29华北科技学院课程设计说明书第 2 页 共 39 页3 添加登录界面背景图片的代码.294 使控件变为透明的代码.305 主界面“添加”按钮代码.306 主界面“查找”按钮代码.317 主界面“修改”按钮代码.338 主界面“删除”

3、按钮代码.359 添加菜单栏和工具栏代码.3510 信息查询界面“查询”按钮代码.3611 成绩录入界面“查询”代码.3612 成绩录入界面“添加”代码.3713 成绩录入界面“修改”.3714 成绩录入界面“删除”按钮代码.38华北科技学院课程设计说明书第 3 页 共 39 页小雨点学生成绩管理系统设计总说明:在当今社会,无论中小学还是大学,成绩管理是一项必要而且很关键的工作。现在随着学生数量的急剧增加,处理学生的成绩数据变的越来越烦琐艰巨。在当今社会,计算机已经普及到了几乎每个学校、家庭,我们的学习和生活已经处处离不开计算机的存在。按照传统的管理方法,学生成绩都是登录在纸质的成绩册上,使用

4、很不方便,在进行查询、修改、插入和删除操作时,可能由于人为的失误,使这些数据很容易丢失。另一方面,传统的管理方法在面对大量的数据时,工作量非常大,效率非常低。所以要设计出一套高效的、合理的学生成绩管理系统是很有必要的。本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使老师减轻工作压力,比较系统地对学生的信息和成绩进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量。本课程设计是在学习了数据库系统 A和相关开发软件课程之后,让学生通过实际项目的设计、开发,培养学生独立进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件开发

5、系统的能力。输入一个班级的学生基本信息(包括学号,姓名,性别,科目) ,对 N 门考试的成绩进行管理(例 N=5) ,要求 :1、用户录入每个学生每门课程的分数;2、能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名;3、 计算全班各门功课的平均分, 显示没门课程中低于平均分的每一个学生的学号, 姓名,性别,科目,成绩等信息;4、显示每门科目中,成绩在 90 分以上的学生信息。另外还输出每门科目中不及格的学生信息;5、能按姓名或者学号查找,增加,删除和保存各个学生的信息。本系统主要用于对学生成绩进行管理,能够进行插入、删除、修改、查询和显示学生的信息。登录该系

6、统时,用户需要输入口令和密码,以确保数据的安全性,成功登录的用户,可以插入学生的信息和成绩,并对学生的信息和成绩进行增、删、改操作。基于上述想法,我们将学生数据保存到数据库中,以 C+为前台进行系统的设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。所以在数据库中需要定义很多触发器,比如删除了某位同学的信息则删除对应的所有成绩信息、活着删除了某门课程则删除该门课所有的成绩等。C+作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有

7、一个良好的界面,使用户感觉很直华北科技学院课程设计说明书第 4 页 共 39 页观,使用快捷,这就是用 C+所要实现的功能。既然在一个系统中同时涉及到数据库和 C+,所以我们要从数据库中读取数据,并且和界面联系起来,同时也能将用户界面上的数据存储到数据库中。以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统。关键词:SQL Server;成绩管理;MFC华北科技学院课程设计说明书第 5 页 共 39 页绪论本课程设计是在学习了数据库系统 A和以前学过的 C+等相关软件课程后,通过实际的操作来熟悉数据库和相关软件的应用, 培养独立的完成对相关课题或者项

8、目的分析能力、设计能力和调试能力。这次的课程设计是继大二开设的 C+面向对象课程设计之后的,同样是运用 MFC 程序来设计。 与上次课程设计唯一不同的就是数据的存储位置不同。 在大二下学期开设的课程设计中,我们主要是将数据保存到数据文件当中,而这次课程设计我们要将数据保存到数据库中。所以我们要解决的首要问题就是如何将数据库中的数据导出来,这也是我们这次课程设计的关键,因为其他的操作我们在学面向对象程序设计 C+时已经练习过。这次的课程设计中,着重培养的是学生的自学能力,以及独立分析互联网上和图书馆里的各种资料,用来丰富自己的知识并且提高对 SQL、VC+等软件的实际操作能力。通过这次的课程设计

9、,使我们对已经学习过的数据库课程的进一步的掌握,对知识进行最大程度的消化融汇。因此这次的课程设计对我们来说具有非常重要的作用:为以后学生工作做必要的准备和实践,提高自身对数据库开发的能力。学生成绩管理系统,在系统中分为大的两个个方面:一是学生信息的增删改,二是学生成绩的增删改。(1)用户进入系统后,可以查询相应学号的学生的信息,可以增加、删除、修改学生信息。(2)用户可以录入学生的成绩,只需输入对应的学号和课程号以及成绩,简单易操作,并且可以对记录进行增、删、改操作。此次设计的学生成绩管理系统,虽然简单,但是却十分实用,极大的方便了用户对学生信息和成绩的操作,节省了大量的工作量。华北科技学院课

10、程设计说明书第 6 页 共 39 页第 1 章 数据库设计1.1 需求分析1.1.1 数据需求学生成绩管理系统需要完成的主要功能有:1.学生的基本信息录入,包括学号、姓名、性别、出生时间、专业、总学分、备注、地址。2.课程信息表的录入,包括课程号、课程名,学分。3.成绩信息表的查询、插入、修改、删除等操作,包括课程号、学号、成绩。1.1.2 数据字典表 1 学生信息表(XSB)结构项目名列名数据类型可空默认值说明学号XHChar6NOT NULL无主键姓名XMChar8NOT NULL无性别XBChar2NULL无出生时间CSSJDatetimeNULL无专业ZYCharNULL无总学分ZXF

11、IntNULL00总学分160备注BZVarchar500NULL无地址DZxmlNULL无表 2 课程信息表(KCB)结构项目名列名数据类型可空默认值说明课程号KCHChar3NOT NULL无主键课程名KCMChar16NOT NULL无学分XFtinyintNULL0表 3 成绩表(CJB)结构项目名列名数据类型可空默认值说明学号XHChar6NOT NULL无主键华北科技学院课程设计说明书第 7 页 共 39 页课程号KCHChar3NOT NULL无主键成绩CJintNULL01.1.3 数据流程图图 1 数据流程图1.2 概念分析在以上需求分析的基础上,设计出该系统的 E-R 图以

12、及各数据项之间的关系模式,则得出学生表 E-R 图:华北科技学院课程设计说明书第 8 页 共 39 页图 2 学生表 E-R 图课程表 E-R 图:图 3 课程表 E-R 图成绩表 E-R 图图 4 成绩表 E-R 图所以得出总的 E-R 图:华北科技学院课程设计说明书第 9 页 共 39 页图 5 总 E-R 图1.3 逻辑结构设计关系模型:学生表 (XH, XM, XB, CSSJ, ZY, ZXF, BZ, DZ);课程表 (KCH, KCM, XF);成绩表 (XH, KCH, CJ)1.4 物理实施1.4.1 创建数据库CREATE DATABASE PXSCJONPRIMARY(N

13、AME= PXSCJ_data,FILENAME=F:数据库课程设计数据源PXSCJ.mdf,SIZE=10 , MAXSIZE=UNLIMITED , FILEGROWTH=5)LOG ON(NAME= PXSCJ_log,FILENAME=F:数据库课程设计数据源PXSCJ.LDF,SIZE=5 , MAXSIZE=UNLIMITED , FILEGROWTH=20%)华北科技学院课程设计说明书第 10 页 共 39 页1.4.2 创建数据表创建学生信息表:USE PXSCJGOCREATE TABLE XSB(XH CHAR(6) NOT NULL PRIMARYKEY,XM CHAR(

14、8) NOT NULL,XB CHAR(2) NULL CHECK(XB=男 OR XB=女),CSSJ DATETIME NULL,ZY CHAR(12) NULL,ZXF INT NULL DEFAULT 0 CHECK(ZXF=0 AND ZXF=0 AND CJ=60,则该学生总学分减去该课程的学分。(3)如果新成绩=-1(表示删除该成绩记录) ,则储存过程结束。(4)增加成绩记录,如果成绩=60,则该学生总学分加上该课程的学分。存储过程如下:CREATE PROCEDURE CJ_Date(in_xh CHAR(6),in_kch CHAR(3),in_cj INT)ASSET NO

15、COUNT ONDECLARE in_count INTDECLARE in_xf TINYINTDECLARE in_cjb_cj INTSET in_xf=(SELECT XF FROM KCB WHERE KCH=in_kch)SETin_count=(SELECTCOUNT(*)FROMCJBWHEREXH=in_xhANDKCH=in_kch)SET in_cjb_cj=(SELECT CJ FROM CJB WHERE XH=in_xhAND KCH=in_kch)IF(in_count0)BEGINDELETE FROM CJB WHERE XH=in_xh AND KCH=in

16、_kchIF(in_cjb_cj60)BEGINUPDATE XSB SET ZXF=ZXF-in_xf WHERE XH=in_xhENDENDIF(in_cj!=-1)BEGIN华北科技学院课程设计说明书第 14 页 共 39 页INSERT INTO CJB VALUES(in_xh,in_kch,in_cj)IF(in_cj60)BEGINUPDATE XSB SET ZXF=ZXF+in_xf WHERE XH=in_xhENDEND第 2 章 系统界面设置及主要功能2.1 添加主菜单和功能按钮在 项 目 工 作 区 窗 口 中 选 择 ResourceView 页 面 , 双 击

17、资 源 “ Menu ” 项 中 的“IDR_MAINFRAME” ,则菜单编辑窗口出现在主页面的右面,如图 9 所示。相应的 XSCJ项目的菜单资源被显示出来,在菜单的最后一项,Visual C+为用户留出了一个空位置,用来输入新的菜单项。在此可输入“学生信息管理” “学生成绩管理”和“成绩输入”图 9 XSCJ 菜单资源同理,双级资源“Toolbar”项中的 IDR_MAINFRAME,则工具条编辑器窗口出现在主界面的右面,如图 10 所示。在此可以添加新的按钮:华北科技学院课程设计说明书第 15 页 共 39 页图 10 工具栏编辑窗口2.2 登录界面设置:登录界面设置如图 11 所示:

18、图 11 登录界面登录界面的控件 ID 和标题设置如表 4 所示:华北科技学院课程设计说明书第 16 页 共 39 页表 4 登陆界面设置 ID 和标题添加的控件ID 号标题其他属性编辑框(用户名)IDC_EDIT1默认编辑框(密码)IDC_EDIT2选中选项 password按钮IDOK确定默认按钮IDCANCEL退出默认打开 MFC ClassWizad,切换到 Member Variables 页下添加成员变量,详见表 5:表 5 登录界面设置控件关联变量ID 号变量类型变量名IDOKCstringm_usernameIDCANCELCStringm_passkey背景图片的添加过程为:

19、打开 MFC ClassWizad,在 Message Maps 里添加 WM_PAINT 和WM_CTLCOLOR 函数,函数代码见附录。添加图片的过程如下:在 ResourceView 中选中一项,单击右键:选择 Insert,在“插入资源”中选择 Bitmap,单击导入,选择格式为 bmp 的图片,则在项目工作区窗口会出现一个Bitmap 选项,里面又要加入的图片,见图 12:图 12 插入图片如果用户名或密码错误,则会出现如图 13 的提示:华北科技学院课程设计说明书第 17 页 共 39 页图 13 用户名或密码错误提示如果用户名密码正确,则成功登录系统,如图 14:图 14 成功登

20、录提示如果点击退出,则有如图 15 提示:图 15 退出系统提示2.3 学生信息增、删、改界面界面设置如图 16 所示:登录界面的控件 ID 和标题设置如表 6 所示:打开 MFC ClassWizad,切换到 Member Variables 页下添加成员变量,详见图 17华北科技学院课程设计说明书第 18 页 共 39 页图 16 学生信息增、删、改界面表 6 登陆界面设置 ID 和标题添加的控件ID 号标题其他属性编辑框(学号)IDC_XH默认编辑框(姓名)IDC_XM默认编辑框(性别)默认男选中“组”编辑框(性别)默认女默认编辑框(出生时间)默认默认编辑框(专业)IDC_ZY默认编辑框

21、(备注)IDC_BZ默认编辑框(地址)IDC_DZ默认按钮IDC_ADD添加默认按钮IDC_SEARCH查找默认按钮IDC_DELETE删除默认按钮IDC_EXIT退出默认按钮IDC_CHECK检查您输入的学号是否存在默认华北科技学院课程设计说明书第 19 页 共 39 页图 17 为控件添加数据成员建立头文件 StuConStr.h,在其定义本应用系统在后续编程中一直要用使用的连接字符串宏常量 SQLCONSTR。具体代码见附录。输入学号对学生进行添加功能,若学号已存在,则弹出系统消息,如图 18图 18 重复添加相同学号学生信息的系统提示若输入数据表中不存在的学号的学生信息,则弹出“添加成

22、功”的系统信息,如图 19:图 19 添加成功系统消息华北科技学院课程设计说明书第 20 页 共 39 页对学生信息进行查询时,如果不存在要查询的学号,则弹出如图 20 系统消息:图 20 查询非数据表中学号的学生信息的系统消息如果要查询的学生的学号存在,则直接在显示在各个控件中,如查询学号为 081106 的学生,得到图 21:图 21 查询结果在对学生信息进行修改时,可以先查询该学生的信息,再点击修改按钮,修改成功,出现图 22 提示:图 22 修改成功提示华北科技学院课程设计说明书第 21 页 共 39 页在对学生信息进行删改成功,则出现图 23 提示:图 23 修改成功系统消息2.4

23、对学生信息多角度查询点击菜单栏上的“学生信息管理” 或工具栏上的“信” , 可以对学生信息进行多角度查询。在此界面中,可以按学号查询学生信息,也可以按姓名查找学生信息,并且可以按系部来看全系学生的基本信息情况。基本界面如图 24 所示:图 24 学生信息多角度查询界面设置此对话框的方法为:在 Dialog 下插入一个新对话框,有机对话框打开属性,在 ID中输入“IDD_STUINFO_MODIFY” ,标题为: ”学生成绩管理系统学生信息查询修改” 。按 Ctrl+W 快捷键,弹出“添加新类”对话框,单击 OK 按钮,类名输入“CStuInfoModify” 。设置 ADODC 的属性,在“C

24、ommand Type”中选择“1-adCmdText” ,表示命令为 SQL语句。打开 DataGrid 控件的属性对话框, 定位到 “全部” 页。 将 DataGrid 一栏右边的 “DataSource”绑定为 ADODC 的 ID,这里是“IDC_StuADODC” 。以后的操作类似,不再重复叙述。登录界面的控件 ID 和标题设置如表 7 所示:华北科技学院课程设计说明书第 22 页 共 39 页表 7 登陆界面设置 ID 和标题添加的控件ID 号标题其他属性编辑框(学号)IDC_XH默认编辑框(姓名)IDC_XM默认编辑框(专业)IDC_COMBOZY默认DataGrid默认默认见步

25、骤ADODCIDC_StuADODC默认见步骤按钮IDC_BUTSearch查询默认按钮IDOK保存默认按钮IDCANCEL退出默认打开 MFC ClassWizad,切换到 Member Variables 页下添加成员变量,详见图 25:图 25 为控件添加数据成员运行程序,例如查询学号为 081101,专业为基础部的学生,点击查询,显示结果如图 26所示:华北科技学院课程设计说明书第 23 页 共 39 页图 26 查询结果如果系部中不存在要查询的学号或姓名,则出现如图 27 提示:图 27 未找到记录提示2.5 学生成绩的增删改和查询点击菜单栏上的“学生成绩管理”下拉菜单中的“成绩录入

26、”或工具栏上的“成绩录入” ,即可进入学生成绩增删改和查询的界面,如图 28 所示:图 28 学生成绩增删改和查询的界面华北科技学院课程设计说明书第 24 页 共 39 页登录界面的控件 ID 和标题设置如表 8 所示:表 8 登陆界面设置 ID 和标题添加的控件ID 号标题其他属性编辑框(按查找)IDC_COMBO1默认编辑框(请输入)IDC_EDIT1默认编辑框(学号)IDC_EDIT2默认编辑框(课程号)IDC_EDIT3默认编辑框(成绩)IDC_EDIT4默认DataGridIDC_DATAGRID1见步骤ADODCIDC_ADODC1见步骤按钮IDC_BUTTON1查询默认按钮IDC

27、_BUTTON2添加默认按钮IDC_BUTTON3修改默认按钮IDC_BUTTON4删除默认按钮IDC_BUTTON5退出默认打开 MFC ClassWizad,切换到 Member Variables 页下添加成员变量,详见图 29。图 29 为控件添加数据成员对学生成绩的查询,可以按照不同的方式:姓名、学号、课程名、课程号,极大的方便了用户的使用,如按照课程名“计算机基础”进行查询时,课得到如图 30 所示的结果:华北科技学院课程设计说明书第 25 页 共 39 页图 30 成绩查询结果对学生成绩添加时,如果学号或课程号为空,则出现如图 31 的提示:图 31 添加成绩错误提示如果添加的记

28、录存在,则出现图 32 提示:图 32 添加记录存在提示若添加成功,则出现图 33 提示,并且记录更新到该界面左边的表格中:图 33 添加成功提示华北科技学院课程设计说明书第 26 页 共 39 页对成绩进行修改时,如果修改的记录不存在,则弹出图 34 提示图 34 修改记录不存在提示如果修改成功,则出现图 35 提示,点击确定后,系统更新到左边的表格中:图 35 修改成功提示对成绩记录进行删除时,如果记录不存在,则弹出如图 36 的消息:图 36 删除记录不存在的系统消息如果删除成功,则弹出“删除成功”的系统消息,并且更新到左边的表中,如图 37:图 37 删除成功系统消息华北科技学院课程设

29、计说明书第 27 页 共 39 页总结总结通过两周时间做出来的学生管理系统,基本的功能已经实现,如对学生信息的增加、删除、修改、查询以及对学生成绩的增加、删除、修改等,还可以对学生信息和成绩进行多角度查询,节省了大量的工作量。而且设置界面清爽干净,功能及操作一目了然,并且通过对触发器的定义,可以在删除学生信息的同时删除该学生对应的成绩,减少了系统大量的冗余数据。当然,系统也有一些不足之处需要改进,比如系统在运行过程中如果有的地方操作不当,会造成运行错误,这是由于代码中存在一些不合理的地方,以我们现在的知识也许还不知道错误出在哪里,但是相信在不断的学习和积累的过程中我们会慢慢了解。在这两周做课程

30、设计中,收获了很多。因为这次课程设计设计的知识面非常广。从数据库方面来说,涉及到数据库设计的五个步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计和运行调试,对于常用的 SQL 语句如查询语句、创建视图、定义触发器、定义完整性约束和存储过程等都进行了一次系统的训练;对于 VC+来说,这次进行 MFC 编程,实现学生成绩管理的各个功能,通过增加对话框、控件、菜单、工具按钮等,对 MFC 又了进一步的理解,第一次用 MFC 编程时对 MFC 的功能等都非常模糊,现在已经系统的了解其控件功能以及程序代码等,而且此次成绩管理系统中首次用到了菜单栏和工具按钮,是以前都没有接触的。而且以前设计 MF

31、C 都是照着书抄,对其代码的意思完全不懂,现在经过了练习,已经可以达到了举一反三的效果,根据网上或者书籍上的内容,可以自己尝试着编写并运行程序,达到了创新的目的。但是此次课程设计最大的收获不只只是对 SQL 和 MFC 更加熟悉和理解了,而是充分锻炼了我们的实际动手操作能力,这是现在大学生最缺乏的能力。平时我们看着书上的实例觉得编程也不过如此,都觉得很简单就可以编好运行,造成了眼高手低的局面。而在实际操作中,会遇到各种各样的问题,而这些问题是书上没有介绍的,这就需要我们独立思考,查询各种资料,尝试着去找出哪里出错了,并且找到解决得办法。锻炼我们独立思考的同时,也培养了我们团结合作的精神,有些问

32、题需要去和周围的同学一起探讨,这样可以得到更好的解决方法。这些独立思考和团队合作精神是我们在学习和工作中必不可少的精神,让我们在学习和工作中取得更高的成就。这也是我们这次课程设计真正的目的所在。经过这次课程设计,提高了我的能力,也让我明白了自己的不足,在今后的学习工作中一定会努力改正。华北科技学院课程设计说明书第 28 页 共 39 页参考文献1 郑阿奇,刘启芬,顾韵华.SQL Server 实用教程.第 3 版.北京:电子工业出版社,20092 周启涛,高英.Visual C+ 数据库开发基础与应用.第 1 版.北京:人民邮电出版社,2005华北科技学院课程设计说明书第 29 页 共 39

33、页附录 程序代码1 StuConStr.h 头文件的代码#ifndef _STUCONSTR_H_#define _STUCONSTR_H_#defineSQLCONSTRProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;Initial Catalog=PXSCJ;Data Source=.#endif2 登录界面“确定”按钮代码void CLoginDlg:OnOK()/ TODO:Add extra validation hereUpdateData(true);if(m_username=)Mess

34、ageBox(用户名不能为空!请重新输入!,系统消息);return;if(m_username!=李晓媛|m_passkey!=lixiaoyuan)MessageBox(用户名或密码错误!请重新输入!,系统消息);m_username=;m_passkey=;UpdateData(false);return;elseCDialog:OnOK();3 添加登录界面背景图片的代码void CLoginDlg:OnPaint()CPaintDC dc(this); / device context for painting/ TODO:Add your message handler code

35、here/CPaintDCdc(this);CRectrect;GetClientRect(&rect);华北科技学院课程设计说明书第 30 页 共 39 页CDCdcMem;dcMem.CreateCompatibleDC(&dc);CBitmapbmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP11);/IDB_BITMAP 是你自己的图对应的 IDBITMAPbitmap;bmpBackground.GetBitmap(&bitmap);CBitmap*pbmpOld=dcMem.SelectObject(&bmpBackground);d

36、c.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);/ Do not call COleDBRecordView:OnPaint() for painting messages4 使控件变为透明的代码HBRUSH CLoginDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)/HBRUSH hbr = COleDBRecordView:OnCtlColor(pDC, pWnd, nCtlColor);/

37、TODO: Change any attributes of the DC hereHBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Change any attributes of the DC here/ TODO: Return a different brush if the default is not desiredif(nCtlColor=CTLCOLOR_STATIC)/对所有的 STATIC 控件的属性进行设定pDC-SetBkMode(TRANSPARENT);return (HBRUSH):GetS

38、tockObject(NULL_BRUSH);return hbr;/ TODO: Return a different brush if the default is not desired/return hbr;5 主界面“添加”按钮代码void CXSCJView:OnAdd()/ TODO:Add your control notification handler code hereCString strname;strname.Format(Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False

39、;Initial Catalog=PXSCJ;Data Source=.);_bstr_t strCnn=strname;try华北科技学院课程设计说明书第 31 页 共 39 页UpdateData(TRUE);pConnection.CreateInstance (_uuidof(Connection);pConnection-Open(strCnn,NULL);pRs.CreateInstance (_uuidof(Recordset);CString SqlStr;SqlStr.Format (select * from XSB where XH=%s,m_stuXH);pRs-Ope

40、n (_variant_t(SqlStr),_variant_t(IDispatch*)pConnection,true),adOpenKeyset,adLockOptimistic,adCmdText);if(!pRs-RecordCount=0)MessageBox(您输入的学号已存在,请重新添加!,系统消息);elsepRs-AddNew();pRs-PutCollect(XH,_variant_t(m_stuXH);pRs-PutCollect(XM,_variant_t(m_stuXM);pRs-PutCollect(CSSJ,_variant_t(DATE)m_stuCSSJ);p

41、Rs-PutCollect(ZY,_variant_t(m_stuZY);pRs-PutCollect(BZ,_variant_t(m_stuBZ);pRs-PutCollect(DZ,_variant_t(m_stuDZ);if(m_stuXBN=atoi(男)pRs-PutCollect(XB,_variant_t(男);elsepRs-PutCollect(XB,_variant_t(女);pRs-Update();MessageBox(添加成功!,系统消息);pRs-Close();pConnection-Close();catch(_com_error &e)_bstr_t bstr

42、Source(e.Source ();_bstr_t bstrDescription(e.Description ();CString sError;sError.Format(Source:%Description:%s,(LPCSTR)bstrSource,(LPCSTR)bstrDescription);AfxMessageBox(sError);6 主界面“查找”按钮代码void CXSCJView:OnSearch()华北科技学院课程设计说明书第 32 页 共 39 页_variant_t varFld;CString strname;strname.Format(Provider=

43、SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PXSCJ;Data Source=.);_bstr_t strCnn=strname;UpdateData(TRUE);pConnection.CreateInstance(_uuidof(Connection);pConnection-Open(strCnn,NULL);pRs.CreateInstance(_uuidof(Recordset);CString SqlStr;SqlStr.Format (select * from

44、XSB where XH =%s,m_stuXH);pRs-Open(_variant_t(SqlStr),_variant_t(IDispatch*)pConnection,true),adOpenKeyset,adLockOptimistic,adCmdText);if(!pRs-RecordCount=0)varFld=pRs-Fields-GetItem(XH)-Value;CString strXH(_T(varFld.bstrVal );strXH.TrimRight();m_stuXH=strXH;varFld=pRs-Fields-GetItem(XM)-Value;CStri

45、ng strXM(_T(varFld.bstrVal );strXM.TrimRight();m_stuXM=strXM;varFld=pRs-Fields-GetItem(ZY)-Value;CString strZY(_T(varFld.bstrVal );strZY.TrimRight();m_stuZY=strZY;varFld=pRs-Fields-GetItem(BZ)-Value;CString strBZ(_T(varFld.bstrVal );strBZ.TrimRight();varFld=pRs-Fields-GetItem(DZ)-Value;CString strDZ

46、(_T(varFld.bstrVal );strDZ.TrimRight();m_stuDZ=strDZ;m_stuBZ=strBZ;varFld=pRs-Fields-GetItem(CSSJ)-Value;CString strCSSJ(_T(varFld.bstrVal );strCSSJ.TrimRight();m_stuCSSJ=varFld.date ;varFld=pRs-Fields-GetItem(XB)-Value;CString sql;sql=(LPCTSTR)(_bstr_t)varFld;华北科技学院课程设计说明书第 33 页 共 39 页if(sql=女)m_st

47、uXBN=1;elsem_stuXBN=0;/m_stuXBN=atoi(sql);/AfxMessageBox(sql);UpdateData(FALSE);elseMessageBox(没有您要查找的学号信息!,系统消息);7 主界面“修改”按钮代码void CXSCJView:Onxiugai()UpdateData(TRUE);if(m_stuXH=|m_stuXM=)MessageBox(学号和姓名不能为空!请重新输入!,系统消息);return;_CommandPtr pCmd=NULL;_variant_t vNULL;vNULL.vt=VT_ERROR;vNULL.scode

48、=DISP_E_PARAMNOTFOUND;CString strname;strname.Format(Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PXSCJ;Data Source=.);_bstr_t strCnn=strname;UpdateData(TRUE);pConnection.CreateInstance(_uuidof(Connection);pConnection-Open(strCnn,NULL);pCmd.CreateInstance

49、(_uuidof(Command);pCmd-ActiveConnection =pConnection;CString SqlStr;SqlStr.Format(delete from XSB where XH=%s,m_stuXH);pCmd-CommandText =(_bstr_t)SqlStr;pCmd-Execute (&vNULL,&vNULL,adCmdText);pConnection-Close();try华北科技学院课程设计说明书第 34 页 共 39 页pConnection.CreateInstance (_uuidof(Connection);pConnection

50、-Open(strCnn,NULL);pRs.CreateInstance (_uuidof(Recordset);CString SqlStr;SqlStr.Format (select * from XSB where XH=%s,m_stuXH);pRs-Open (_variant_t(SqlStr),_variant_t(IDispatch*)pConnection,true),adOpenKeyset,adLockOptimistic,adCmdText);if(!pRs-RecordCount=0)MessageBox(您输入的学号已存在,请重新添加!,系统消息);elsepRs

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 公文通知

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁