某某大学计算机专业奖学金系统报告

上传人:仙*** 文档编号:58897715 上传时间:2022-03-01 格式:DOC 页数:32 大小:684.50KB
收藏 版权申诉 举报 下载
某某大学计算机专业奖学金系统报告_第1页
第1页 / 共32页
某某大学计算机专业奖学金系统报告_第2页
第2页 / 共32页
某某大学计算机专业奖学金系统报告_第3页
第3页 / 共32页
资源描述:

《某某大学计算机专业奖学金系统报告》由会员分享,可在线阅读,更多相关《某某大学计算机专业奖学金系统报告(32页珍藏版)》请在装配图网上搜索。

1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第31页 共32页n 更多资料请访问.(.)成绩 中国农业大学 课程报告 ( 学年秋季学期)论文题目: 计算机专业奖学金系统报告 课程名称: 任课教师: 班级: 学号: 姓名: 目录第一章 概要说明21.1 系统名称21.2 设计依据21.3 系统建设的目标21.4 计划进度2第二章 需求调查32.1奖学金管理机构及职能体系32.2 信息需求及管理现状32.3 当前工作中需解决的问题及新的系统管理模式展望4第三章需求分析和系统分析53.1 写出数据字典和数据词典53.2 写出 E-R 图63.3 功能字典和界面词典9第四章 系统

2、设计124.1 数据库设计124.2 界面设计14第五章 奖学金系统的实现155.1 系统软硬件环境155.2 系统运行155.3 系统维护22第六章 .NET与数据库的连接236.1 c#应用程序中对SQL Server数据库访问的方法介绍236.2 C#中的数据库访问236.3 c#中关于数据库的具体实现25第一章 概要说明1.1 系统名称计算机专业奖学金系统1.2 设计依据中国农业大学本科生奖学金管理办法学生综合测评表学生基本信息表学院奖学金评审表1.3 系统建设的目标建立以计算机为主的奖学金信息管理网络系统,为上级领导提供及时、准确的评审辅助决策信息,包括各学院评审的汇总信息、学生的基

3、本信息、综合测评信息等等;为奖学金信息库、学院学生工作部的奖学金信息管理工作提供方便、快捷的计算机工作模式,提高工作效率,同时与已经成型的学生信息管理系统做到很好的融合,从中提取相应的信息。另外,通过整个系统的调查、分析、设计、规范化管理过程,使奖学金信息库、学院和学校学生工作部的管理水平升级,适应信息时代的要求。1.4 计划进度序号内容所用时间1课程设计总体介绍和要求0.252学习.NET编程技术13对应用系统进行系统分析和设计0.755使用.NET设计开发应用系统36对应用系统进行测试27验收3合计10天第二章 需求调查2.1奖学金管理机构及职能体系211各学院组织机构学院负责本学院奖学金

4、的评审工作。主要职责是:(1)制定学院奖学金评选细则;(2)根据各奖学金的评选要求对本院学生进行初选、推荐;(3)协助学校做好各奖学金的发放、表彰工作;(4)负责院级奖学金的设立和管理,并报学生工作部备案。212校级学生工作部组织机构学生工作部负责全校奖学金的管理工作。主要职责是:(1)负责奖学金的评定、发放和日常管理;(2)制定全校性奖学金的评定办法;(3)审批全校性奖学金获得者名单;(4)监督、检查校内其他奖学金的管理和使用;(5)协调校内外组织或个人在学校设立奖学金的有关事项,筹措和开辟奖学金资金来源。2.2 信息需求及管理现状221 信息需求目前的奖学金管理工作中用到的表格:(1)奖学

5、金评审汇总表(2)奖学金名目表(3)学院奖学金评审结果表(4)学生个人信息表(5)学生综合测评表222 管理现状当前的工作主要以手工操作为主。除有些表格用计算机打印外,其他的工作均由管理人员手工制表、统计和填表。学生综合测评表的计算仅用到了简单的计算机辅助操作,大量的数据输入之后还需要人为操作才能依次获得结果,没有很好地利用已经成型的学生信息管理系统。2.3 当前工作中需解决的问题及新的系统管理模式展望2.3.1 需解决问题由于手工操作,所以管理人员的工作量较大,尤其是需查询有关信息时,即费时又费力,工作效率很低还易出错,难以完成日常管理任务;而且,由于信息用纸张存放,极易产生数据的不一致性,

6、很不方便实现统计和查询,不能及时准确为上级领导决策提供有用信息;甚至时间长了有的信息很难找到,信息丢失严重。上下级之间沟通不方便,造成数据不一致,影响工作的正常进行。2.3.2 新的管理模式展望以计算机为主的奖学金信息网络管理系统,即建立了一个统一的数据收集和处理规范,方便学院-学生工作部-服务器之间的数据沟通,为上级领导提供及时、准确的辅助决策信息,包括学院的学生综合测评信息、评审信息、统计汇总信息等等;为学院管理人员提供方便、快捷的计算机工作模式,提高工作效率,快速、准确的完成任务;亦可为学校加强防化装备管理工作。另外,通过整个系统的调查、分析、设计、规范化管理过程,使学生奖学金的管理水平

7、升级,适应信息时代的要求。 本系统为网络环境下的奖学金管理信息系统,学院-学生工作部-服务器连网后可同时使用。在未连网时,可通过磁盘交换数据,达到数据的共享。第三章 需求分析和系统分析3.1 写出数据字典和数据词典在学生奖学金信息中,经过分析研究并消除冗余,得到需产生的原始表格数据以及需要留档的中间数据作为数据字典和数据词典详细写出。在数据字典中,详细填写了每个数据需要存储的类型、长度、完整性及其他信息。由此而来得到表3.1所示数据字典和表3.2所示的数据词典。表3.1 数据字典编号名称(中文)名称(西文)类型长度(byte)完整性Jd001登陆名dnamechar20Jd002登陆密码dpa

8、sswordchar10Jd003登陆类型dtypechar10教师 学生干部Jd004学号snochar8Jd005姓名snamechar30Jd006性别sexchar2男 女Jd007民族sminzuchar20Jd008班级sclasschar20Jd009学年gyearint2008到2012之间Jd010学习成绩cgradefloat0到100之间Jd011思想品德成绩sgradefloat0到100之间Jd012课外活动成绩kgradefloat0到100之间Jd013附加分fugradeint-5到5之间Jd014奖学金号scnochar8Jd015奖学金名称scnamecha

9、r30Jd016奖学金金额scmoneyintJd017限制人数slimitint表3.2 数据词典编号名称(中文)名称(西文)关键字号属性名称属性编号Jw001学生信息表StudentJw001学号Jd004姓名Jd005性别Jd006民族Jd007班级Jd008Jw002学生成绩表gradeJw004学号Jd004Jd009学年Jd009学习成绩Jd010思想品德成绩Jd011课外活动成绩Jd012附加分Jd013Jw003奖学金表scholarshipJw014奖学金号Jd014奖学金名称Jd015奖学金金额Jd016限制人数Jd017Jw004奖学金分配表fenpeiJd004学号Jd

10、004Jd014奖学金号Jd014Jd009学年Jd009Jw005用户权限表denluJd001登陆名Jd001登陆密码Jd002登陆类型Jd0033.2 写出 E-R 图(1) 学生信息(姓名,学号,性别,民族,班级)学生性别性别学号民族姓名班级图3.3(2) 学生成绩表(学号,学年,学习成绩,思想品德成绩,课外活动成绩,附加分)学生成绩学号思想品德成绩课外活动成绩附加分学年学习成绩图3.4(3) 奖学金表(奖学金号,奖学金名称,奖学金金额,限制人数)奖学金奖学金名称奖学金金额奖学金号名限制人数图3.5(4) 奖学金分配表(学号,奖学金号,学年)奖学金分配学年奖学金号学号图3.6(5) 用

11、户权限表(登陆名,登陆密码,登陆类型)登录权限表登陆类型登陆密码登陆名图3.7(6) 综合ER图图3.83.3 功能字典和界面词典系统模块功能介绍:1、登陆模块学生干部可以通过用户名密码登陆进入界面负责奖学金的审查工作,主要权限:(1)查看学生个人信息;(2)查看学生成绩信息;(3)查看综合测评结果;(4)查看奖学金的管理和使用;(5)修改登陆密码。教师通过用户名密码登陆进入界面负责本学院奖学金的评审工作。主要权限是:(1)查看增加修改学生个人信息;(2)查看增加修改学生成绩信息;(3)查看综合测评结果;(4)查看增加修改奖学金;(5)修改登陆密码;(6)增加学生干部登陆权限。 2、学生信息管

12、理模块(1)按照一定方式对学生个人信息进行查询;(2)增加删除修改学生个人信息;3、学生成绩管理模块(1)按照一定方式对学生成绩信息进行查询;(2)增加删除修改学生成绩信息;4、奖学金管理模块(1)按照一定方式对奖学金信息进行查询;(2)增加删除修改奖学金信息;5、综合测评模块(1)按照一定方式对学生综合信息进行查询;(2)分配奖学金;6、权限管理模块(1)修改个人密码;(2)增加学生用户权限;表3.9 功能字典编 号名 称(中 文)主实体号相 关 实 体 号 其 它12345678910111213141516学生个人信息表查询学生个人信息增添学生个人信息修改学生个人信息删除学生成绩表查询学

13、生成绩录入学生成绩修改学生成绩修改奖学金表查询奖学金增加奖学金修改奖学金删除奖学金分配综合测评查询修改个人密码增加学生权限JW001JW001JW001JW001JW001JW002JW002JW002JW003JW003JW003JW003JW004JW004JW005JW005JW001 JW002JW003查询学生信息增添学生信息修改学生信息删除学生信息查修学生成绩录入学生成绩修改学生成绩删除学生成绩查修奖学金信息增加奖学金修改奖学金删除奖学金按照综合分数=学习成绩*0.7+思想品德成绩*0.15+课外活动成绩*0.15+附加分 的排名来分配奖学金查询学生综合测评结果修改个人密码增加学生

14、访问权限表3.4 界面窗口词典编 号名 称(中 文)类 型内 容其 它12345678910111213141516学生信息查询学生信息修改学生信息增加学生信息删除学生成绩信息查询学生成绩增加学生信息修改学生信息删除奖学金查询奖学金增加奖学金修改奖学金删除奖学金评定综合测评查询修改个人密码增加学生权限表表表表表表表表表表表表表表表表JW001中的内容JW001中的内容JW001中的内容JW001中的内容JW002中的内容JW002中的内容 JW002中的内容 JW002中的内容 JW003中的内容JW003中的内容JW003中的内容JW003中的内容JW004中的内容JW004中的内容JW00

15、5中的内容JW005中的内容第四章 系统设计4.1 数据库设计1.学生信息表:序号列名(中文)列名(西文)类型长度空值关键字完整性1学号snoCHAR8NOTA主码2姓名snameCHAR30NOTA3性别sexCHAR2NOTA男 女4民族sminzuCHAR205班级sclassCHAR202.学生成绩表:序号列名(中文)列名(西文)类型长度空值关键字完整性1学号snoCHAR8NOTA主码2学年gyearIntNOTA主码2008到2012之间3学习成绩cgradeFloatNOTA0到100之间4思想品德成绩sgradeFloat0到100之间5课外活动成绩kgradeFloat0到1

16、00之间6附加分fugradeInt-5到5之间3.奖学金表:序号列名(中文)列名(西文)类型长度空值关键字完整性1奖学金号scnochar8NOTA主码2奖学金名称scnamechar30NOT3奖学金金额scmoneyint4限制人数slimitInt4.奖学金分配表:序号列名(中文)列名(西文)类型长度空值关键字完整性1学号snoCHAR8NOTA主码2学年gyearIntNOTA主码2008到2012之间3奖学金号scnochar8NOTA主码4.登陆权限表:序号列名(中文)列名(西文)类型长度空值关键字完整性1登陆名dnamechar20NOTA主码2登陆密码dpasswordcha

17、r10NOTA3登陆类型dtypechar10NOTA学生干部 教师用SQL语言给出数据库的定义如下:USE studentCREATE TABLE dbo.student (sno char (8) NOT NULL ,sname char (30) NOT NULL ,sex char (2) NOT NULL CONSTRAINT check_sex check(sex IN (女,男),sminzu char (20) NULL , sclass char (20) NULL, PRIMARY KEY (sno)GOCREATE TABLE dbo.grade (sno char (8

18、) NOT NULL , gyear int NOT NULL CONSTRAINT check_year check(gyear BETWEEN 2008 AND 2012),cgrade float NULL CONSTRAINT check_cg check(cgrade BETWEEN 0 AND 100),sgrade float NULL CONSTRAINT check_sg check(sgrade BETWEEN 0 AND 100),kgrade float NULL CONSTRAINT check_kg check(kgrade BETWEEN 0 AND 100),f

19、ugrade int NULL CONSTRAINT check_fg check(fugrade BETWEEN -5 AND 5),PRIMARY KEY (sno,gyear), FOREIGN KEY (sno)REFERENCES student(sno)GOCREATE TABLE dbo.scholarship (scno char (8) NOT NULL ,scname char (20) NOT NULL ,scmoney int NULL ,slimit int NULL , PRIMARY KEY (scno)GOCREATE TABLE dbo.denlu (dnam

20、e char (20) NOT NULL ,dpassword char (10) NOT NULL ,dtype char(10) NOT NULL CONSTRAINT check_dtype check(dtype IN(学生干部,教师) ,PRIMARY KEY (dname)GOCREATE TABLE dbo.fenpei (sno char (8) NOT NULL ,scno char (8) NOT NULL , gyear int NOT NULL, PRIMARY KEY (sno,scno,gyear),FOREIGN KEY (sno)REFERENCES grade

21、(sno),FOREIGN KEY (scno)REFERENCES scholarship(scno),FOREIGN KEY (gyear)REFERENCES grade(gyear)4.2 界面设计4.2.1 界面流程图登陆界面主界面学生管理奖学金管理登陆权限管理帮助退出系统学生信息学生成绩综测奖学金结果奖学金评定奖学金奖项更改登陆密码学生登陆权限关于菜单各界面功能详细说明登陆界面:输入登陆名、登陆密码及登陆类型可以登陆到该用户权限所在的界面。学生信息:可按照一定方式查询学生信息或增加删除修改学生个人信息。学生成绩:可按照一定方式查询学生成绩或增加删除修改学生个人成绩。综测奖学金结果:

22、可按照一定方式查询学生综测结果。奖学金评定:按年份评定奖学金或按年份删除已经评定的结果。奖学金奖项:可按照一定方式查询奖学金奖项或增加删除修改奖学金奖项。更改登陆密码:更改登录账户的登录密码。学生登陆权限:增加或删除学生干部的登录权限。关于:显示制作人信息。第五章 奖学金系统的实现5.1 系统软硬件环境具体的软件要求:(1)操作系统: Windows系列(2)数据库:SQL Server(DBMS)(3)开发软件:visual studio 20105.2 系统运行一、用户登录 程序首先进行登录账户的检查。用户需要在账号和密码编辑框输入正确的登录名和登录密码并选择正确的用户类型,只有在登录名、

23、密码账户类型正确时才可以进入系统操作。在此系统会记录下来您的账号名和用户类型,通过登陆类型判断可进入相应的操作界面,而用户类型则用来修改个人密码。二、操作菜单在主菜单中点击相应的选项便可进入相应的界面。三、操作按钮查询:按照一定的方式查询数据记录。增加:增加一条数据记录。删除:删除一条数据记录。修改:修改某条数据记录中的某一个属性值。评定:对奖学金进行评定。清空:清空奖学金的评定记录。更改密码:更改登陆人的登陆密码。返回:返回到主菜单。退出系统:退出整个系统。四、操作界面学生信息:(此为教师界面,学生界面只有查询和返回)可按照一定方式查询学生信息或增加删除修改学生个人信息。当操作错误时,可以提

24、示相应的信息,指导操作人员按照正确的信息进行操作。 查询内容框的内容为空时,无论选择哪种查询方式查询,查询出来的为全部信息。学生成绩:(此为教师界面,学生界面只有查询和返回)可按照一定方式查询学生成绩或增加删除修改学生个人成绩。当操作错误时,可以提示相应的信息,指导操作人员按照正确的信息进行操作。 当搜索内容框的内容为空时,无论选择哪种搜索查询方式查询,查询出来的为全部信息。综测奖学金结果:可按照一定方式查询学生综测结果。当操作错误时,可以提示相应的信息,指导操作人员按照正确的信息进行操作。 查询内容框的内容为空时,无论选择哪种查询方式查询,查询出来的为全部信息。奖学金奖项:(此为教师界面,学

25、生界面只有查询和返回)可按照一定方式查询奖学金奖项或增加删除修改奖学金奖项。当操作错误时,可以提示相应的信息,指导操作人员按照正确的信息进行操作。 查询输入框的内容为空时,无论选择哪种查询方式查询,查询出来的为全部信息。奖学金评定:(此为教师界面)按年份评定奖学金或按年份删除已经评定的结果。当操作错误时,可以提示相应的信息,指导操作人员按照正确的信息进行操作。更改登陆密码:更改登录账户的登录密码。当操作错误时,可以提示相应的信息,指导操作人员按照正确的信息进行操作。学生登陆权限:增加或删除学生干部的登录权限。当操作错误时,可以提示相应的信息,指导操作人员按照正确的信息进行操作。关于:显示制作人

26、信息。5.3 系统维护系统设计中用到的主要标识符有:一、 菜单 option学生信息 学生信息ToolStripMenuItem学生成绩 学生成绩ToolStripMenuItem综测结果 综测结果ToolStripMenuItem2奖学金评定 奖学金评定ToolStripMenuItem奖学金奖项 奖学金奖项ToolStripMenuItem1更改密码 更改密码ToolStripMenuItem学生登录权限 学生登录权限ToolStripMenuItem关于 关于ToolStripMenuItem退出系统 退出系统ToolStripMenuItem二、 统计报表学生信息表 studentDa

27、taGridView 学生成绩表 scoredataGridView 奖学金分配表 zongcedataGridView 奖学金表 awarddataGridView登陆权限表 denludataGridView三、 按钮查询 button_查询 增加 button_增加删除 button_删除修改 button_修改评定 button_评定清空 button_clear登陆 button_denglu退出 button_tuichu重置 button_chongzhi返回 button_back四、 代码管理 用户名 yonghu用户类型 type五、 窗体登陆界面 登陆学生信息 s_inf

28、ormation学生成绩 s_score综测结果 s_zongce奖学金奖项 award奖学金评定 start_scholarship更改密码 mima学生登录权限 denlu_right第六章 .NET与数据库的连接6.1 c#应用程序中对SQL Server数据库访问的方法介绍与数据库相连,ADONET提供了如下三种方式:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连。三种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。对于相连数据库的数据处理,也有两种方式,即一种是通过Datasct来隔离异构的数据源,另一种是以流方式从数据源读取Data Reader方式

29、。传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。ASENET采取了断开连接方式的数据结构。当浏览浏览器,然后连接就被断开,直到浏览器发出下一个请求。为了在Web环境下传输数据,Microsoft对ADO记录集进行了优化。但COM类型转换仍旧是一个必不可少的步骤,因为COM的数据类型不可能总是匹配ADO记录集的数据类型(例如,String类型必须转换成BSTR类型)由此,需要将ADO记录集进行格式转换。通常的做法是:先提取一个记录集,把它保存为XML格式,然后传输结果数据流,让接收者从这个XML数据流重新构造出记录集供以后使用。随着对协同工作能力和可伸缩

30、性要求的提高,ADO逐渐被建立在XML的基础上ADONET取代。ADONET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。6.2 C#中的数据库访问6.2.1 ADO.NETADO.NET类型实现两个主要的功能。1. 数据访问:用于访问数据库中数据和操作数据库的类型;2. 数据表示:用于包含数据库数据(如数据表)的类型。这两种类型之间联系密切,在数据库开发中两种类型都会用到。

31、严格地说,可以只用一种数据库访问类型。然而,如果使用数据访问类型来填充数据表示类型将节省大量工作。ADO.NET包含7个重要的基类,其中4个是数据访问类:DbConnection DbCommand DbDataReader DbDataAdapter其他3个类是数据表示类:DataTable DataRelation DataSet(1)DbConnectionDbConnection类提供与数据库的连接。创建DbConnection对象时,应提供与DBMS通信所需的所有信息,如数据库的位置、用于认证的用户名和密码以及要访问的DBMS中的数据库。(2)DbCommandDbCommand类提

32、供与数据库交互的主要方法。可以用DbCommand对象来执行SQL语句、运行存储过程等。DbCommand及其派生类称为命令类。(3)DbDataReader使用DbDataReader类可以从结果集中读取数据,如从执行存储在命令对象中的命令生成的结果集中读取数据。该类经过高度优化,可以很快地访问数据库中的数据。然而,这种优化也有些副作用,例如,只能以串行方式一次读取一行数据。不能读完两行后再返回去读取第一行。通常,可以用DbDataReader对象(更确切地说,是数据阅读器的子类对象)来提取要使用的行数据,并将其存储在其他对象中。例如,可以读取一个结果集中的每行,将其存储到在自定义集合或泛型

33、列表对象中的自定义类中。(4)DbDataAdapter在ADO.NET的核心数据访问类中,最后一个是DbDataAdapter类。它比前面介绍过的类型要复杂得多,设计该类的目的只有一个:减少存储在数据集对象中的数据与数据库进行数据交换时的干扰。与前面的类一样,DbDataAdapter类也有很多派生类,它们统称为数据适配器类。(5)DataTableDataTable是ADO.NET提供的第一个数据表示类。与数据访问类不同,数据表示类没有专门用于特定数据库管理系统(如SQL Server)的子类,它们独立于平台。实际上,如果需要的话,数据表示类完全可以独立于数据库使用,它们只是(6)Data

34、Relation在处理多个DataTable对象时,通常需要表示(并实施)表数据之间的关系。这由DataRelation类来完成。可将多个DataRelation对象组合起来,构成一个DataRelationCollection对象。(7)DataSet该类只是DataTable对象和DataRelation对象的集合。然而,DataSet的强大功能体现在与其他对象结合使用,包括用于Web应用程序和Windows应用程序的控件、Web服务和XML文档。6.2.2 数据绑定数据绑定是程序员只需做少量工作就可以用数据库中的数据填充Windows或Web控件的一种技术。.NET框架让程序员只需使用简

35、单的代码就可以将数据源与控件关联起来,实际上,可以通过GUI实现很多功能,而不需要编写大量C#代码。数据绑定有两点要求:数据源和要绑定数据的控件。数据源包括数据库连接,但不仅限于此,也可以使用对象或来自Web服务的数据作为数据源。使用对象作为数据源是一种功能强大的方法,可以利用自定义的集合和自己设计的类,但这有点偏题了。本书大部分时候使用的数据源类型都是数据库数据源,它有Web控件形式,也有Windows控件形式。生成数据库数据源时,通常不仅需要配置连接。数据库数据源包括关于要访问数据库中哪些对象的信息。实际上,在幕后通常将生成类型化数据集。此外,幕后还将用到前面介绍的ADO.NET对象(连接

36、、命令、数据阅读器和数据适配器协同工作来创建数据源)。然而,程序员不必太担心这一点,而只需创建一个数据源并将它绑定到控件。要绑定到控件,需要将控件的属性设置为数据源的元素(从而间接地设置为数据库的元素)。对于简单控件,如标签或文本框,只要将控件的Char属性设置为数据库中类型为文本的列。还可以将数据绑定到列表控件(包括下拉列表),这样列表中的每项都绑定到数据库表中的一行。更高级的控件(如GridView)可用于查看整个表的内容。另外,也可以提供自定义的控件和自定义的数据绑定架构,以便使用和编辑数据库中的数据。6.2.3 可视化工具可以只使用命令行或脚本工具来访问数据库,但通常它并不是最好的选择

37、特别是对于初学者来说。幸运的是,Visual C#速成版与Visual Web Developer速成版提供了可视化工具,还有用于操作SQL Server 2005速成版数据库的独立GUI:SQL Server Management Studio Express(SSMSE)。Visual Studio的其他版本也包括类似(更强大)的工具,SQL Server 2005的其他版本也提供了功能与SSMSE类似的GUI。通过“数据库资源管理器”窗口,可以对数据库的结构和内容进行编辑。双击已有的表或右击“表”文件夹,然后选择“添加新表”,可进入修改表的窗口。6.2.4 SQL Server Mana

38、gement Studio ExpressSQL Server Management Studio Express(SSMSE)包括的功能比速成版产品的“数据库资源管理器”窗口更多,但本质上它也是访问相同数据。其中一个区别是,在SSMSE中不必连接到特定数据库,而是连接到DBMS,这样就自动可以访问它包含的所有数据库。6.3 c#中关于数据库的具体实现6.3.1创建数据源要绑定到数据库中的数据,第一步是创建并配置一个或多个数据源。在前一章,介绍过使用向导配置数据源,并通过填充ListBox控件绑定到数据。现在将更详细地介绍这些方法,并进行扩展。6.3.2 绑定到数据源创建数据源后,就可以使用数

39、据绑定技术将窗体控件同数据源关联起来。这可能很简单,也可能很复杂,就看要怎么实现,可能同时要用到声明式方法(通常是使用向导)和编程式方法(使用自己的代码定制行为)。可以将数据绑定到很多控件,但使用向导只能绑定到下列控件:1.列表控件:在列表中显示单列数据;2.DataGridView控件:以类似于表格的格式显示数据;3.BindingNavigator控件:在表中的多条记录之间导航;4.由基本控件(如CharBox和Label)组成的详细视图:显示单行数据。(1)BindingSource控件BindingSource控件充当数据绑定控件和数据源之间的中介。它提供了一个通用接口,其中包含控件绑

40、定到数据源时所需的所有功能。使用向导将控件绑定到数据源时,实际上创建并配置了一个BindingSource控件实例,并绑定到该实例。这种架构提供了很大的灵活性,尤其是在复杂的情形下,因为这样可以将数据源设计为任何形式,只要它能够与BindingSource控件进行通信。这意味着可以使用非数据库数据源,或使用极其复杂的数据访问机制的自定义数据源。配置BindingSource实例的第一步是设置其DataSource属性。这可以是几种数据源中的任何一种,包括自己创建的数据源,但通常是类型化数据集。使用属性窗口,可以绑定到项目中类型化数据集,如图3.18所示。如果读者在自己的项目中进行操作,则需要添

41、加数据源到项目中,才能看到与图3.18相同的显示(添加数据源后,选择bindingSource1控件;然后,在属性窗口中选择DataSource属性,并单击下拉箭头。在下拉列表中,选择要使用的数据源。对于使用类型化数据集的数据源,应展开“其他数据源”,然后展开“项目数据源”,才能找到数据源)。选择数据源后,设置BindingSource控件的DataMember属性,更详细地指定要绑定到数据源中的哪些数据。绑定到类型化数据集时,将该属性设置为数据表,该表可用本章前面介绍的任何方法填充。在属性窗口中,可用从数据集中的多个表中选择。以这种方式添加DataMember时,将在代码中添加另一个新成员一

42、个数据适配器:private .FolktaleDBDataSetTableAdapters.StoryTableAdapterstoryTableAdapter;另外,在Form.cs中的Load事件处理程序中,添加了使用这个数据适配器填充数据集实例中相关表的代码:private void Form1_Load(object sender, EventArgs e) / TODO: This line of code loads data into the folktaleDBDataSet.Story table./ You can move, or remove it, as neede

43、d.this.storyTableAdapter.Fill(this.folktaleDBDataSet.Story);自动生成的注释指出,这只是为方便而添加的,可以将它移到任何位置。上述代码表明,窗体加载时将加载数据,使其立即可用,这通常是程序员希望的。数据适配器和类型化数据集实例都显示在窗体设计器的组件部分,在BindingSource控件的旁边。可以在这里通过属性配置控件,包括指定是否在代码中生成成员等。配置好BindingSource控件后,可用于将数据绑定到其他控件。也可以在配置其他控件时配置BindingSource控件;前面提到过,向导可以完成这项任务。(2)绑定到列表控件有两种

44、Windows窗体控件支持数据绑定:ListBox和ComboBox。这两个控件都可以使用数据源中的两列来创建列表,一列用于显示文本项,另一列用于显示文本项的值。也可以将同一列用于这两种用途。在ListBox控件和ComboBox控件中,有3个与数据绑定相关的重要属性。1.DataSource:指向数据源的对象引用;2.DisplayMember:一个列的字符串名,将从该列提取字符串以显示在列表中;3.ValueMember:一个列的字符串名,将从该列提取列表项的值数据。对于这两个控件,可在属性窗口中或窗体的隐藏代码中手工设置其属性;也可以使用控件的任务窗口来设置。第2章使用了后一种方法,将数

45、据绑定到一个ListBox控件。图3.20显示了ListBox任务窗口,其中的“使用数据绑定项”选项被选中。要将数据绑定到ListBox或ComboBox,首先要选择数据源。如果已经创建了BindingSource控件,只需选择该控件暴露的表。也可以选择类型化数据集中的表,这将自动检测所有需要的对象:数据集实例、BindingSource实例和表适配器实例。与添加BindingSource控件一样,也将自动在窗体的Load事件处理程序中添加一些代码,用于填充类型化数据集。数据加载后,ListBox或ComboBox将自动绑定到数据。然而,除非设置了显示和值成员,否则将看不到什么有趣的东西;看到

46、的结果将是一个列表,它是将数据绑定到列表时调用ToString()的默认实现获得的:绑定到类型化数据集的数据时,将是System.Data.DataRowView对象组成的一个列表。这将使ListBox包含多项(每项对应绑定的数据中的一行),这些项都读取System.Data.DataRowView。每项都正确地表示底层数据表中的一行,然而,如果根据行显示数据将更友好,这样就可以区分出哪些数据来自哪行。(3)绑定到DataGridView控件将数据绑定到DataGridView控件时,不需要什么工作就可获得很多功能。这些功能包括允许用户编辑数据、对数据进行排序、调整列的大小和顺序等。只要设置相

47、关的属性就可以实现这些功能。与列表控件一样,可以使用属性来配置DataGridView的数据绑定,属性可用多种方法来设置,包括使用“DataGridView任务”窗口。使用下拉列表“选择数据源”来绑定到表数据源时,将创建一个数据集实例、一个BindingSource实例和一个表适配器实例。然而,这里配置了数据绑定控件的更多方面。例如,不必选择用作列表项的显示文本和值的列,而将显示表中定义的所有列(如果不需要这么多列,以后可以修改)。只要选择数据源,就可以获得用户可与之交互的界面。如果使用图3.21所示的默认选项,还可以让用户能够编辑数据集的内容(然而,如果不对应用程序做进一步修改,用作所做的编

48、辑将不会提交给数据库)。DataGridView控件最重要的功能之一是修改显示的列,包括列的类型。单击“DataGridView任务”窗口中的“编辑列”链接,可以访问DataGridView中的列集合,这将打开“编辑列”窗口。(4) BindingNavigator控件BindingNavigator控件是从ToolStrip派生而来的,让用户能够标准界面在数据中导航。本质上,它是一个ToolStrip控件,包含一些有用的按钮和指向数据源的链接。图3.25显示了Binding Navigator控件。使用BindingNavigator控件,可以在行间移动:每次移动一行;直接跳到数据集的第一行

49、或最后一行;通过输入数字跳到指定的行。还有一些按钮用于在数据集中添加(+)、删除(x)行(对只读数据,可以禁用或删除这些按钮)。要使用BindingNavigator控件在数据集中导航,只需将其BindingSource属性设置为BindingSource类的一个实例。例如,可将其设置为被绑定到已有控件(如DataGridView)的BindingSource对象。在这种情况下(BindingSource同时绑定到数据绑定控件和BindingNavigator控件),BindingNavigator控件将让用户能够在数据绑定控件中导航记录。(5)一步添加可导航的DataGridView可以一步

50、添加DataGridView和BindingNavigator的组合。为此,首先必须有一个已配置好的数据源,通过向导很容易配置。有了数据源后,就可以在“数据源”窗口中将数据源层次结构展开到表级,这时选择表时,将出现一个包含很多选项的下拉列表。这些选项是各种可用于自动将数据添加到窗体中的技术,包括本章已介绍过的三种和下面将介绍的一种(“详细信息”)。表名左边的图标显示了当前为该表选中的选项。选择DataGridView后,将表拖放到窗体中,这将自动生成一个DataGridView控件和一个BindingNavigator控件,以及所需的类型化数据集实例(如folkDBDataSet2)、Bind

51、ing Source和表适配器。当然,这能够节省时间,可能也比以后再添加Binding Navigator更合理。然而,仍需要设置控件的布局和格式化,包括前面讨论过的修改列。这也就是为什么要用这种技术的原因可以使用更多的技术,而不会陷入这种技术带来的复杂性中。(6)绑定到详细视图(Detail Views)上面的讨论涉及到了详细视图。在这里,详细视图指的是以更直接的方式显示一行数据,而不显示表中的其他数据。数据不是显示在DataGridView的一行中,详细视图通常由众多控件组成,如文本框。这样可以更好地控制要显示什么,使显示的数据更具可读性。例如,可以使用多行文本框来显示长文本数据,而不是在

52、一个DataGridView单元格中显示或像本章前面那样在弹出对话框中显示。如果愿意,可以采用自底向上的方法来设计详细视图:添加相关的控件到窗体中,将它们绑定到数据源列,然后添加一个用于在行数据间导航的BindingNavigator。然而,让Visual C#完成所有这些繁琐的工作将容易得多,也快得多。与前一小节中添加可导航的DataGridView一样,可通过“数据源”窗口完成这些工作。要通过“数据源”窗口添加详细视图,需要做两项准备工作。首先,在表的下拉列表中选择“详细信息”;其次,确保表中要添加的列与要添加到窗体中的控件相关联。为此,在“数据源”窗口中展开表,单击每列并通过出现的下拉列表进行修改。(7)过滤数据通过对表适配器应用额外的查询,可过滤显示的数据。本章前面介绍了如何添加这样的查询,然而,使用可视化工具可以自动地添加过滤器查询:只要定义要在数据绑定控件中应用的过滤器即可。第 31 页 共 32 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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