人事管理系统初期项目实训数据库操作技术点.docx
《人事管理系统初期项目实训数据库操作技术点.docx》由会员分享,可在线阅读,更多相关《人事管理系统初期项目实训数据库操作技术点.docx(9页珍藏版)》请在冰豆网上搜索。
人事管理系统初期项目实训数据库操作技术点
人事管理系统
数据库(SQLSERVER2005)
操作技术点
文档信息:
文档名称
蓝山公司人事管理系统数据库操作技术点
描述
该文档描述人事管理系统中访问数据库时所涉及的相关技术点,未涉及具体操作步骤
负责人
茅雪梅
状态
最终版
文档变更历史:
时间
修改人
章节
描述
2010-6-12
茅雪梅
所有章节
创建文档初稿
2010-6-13
茅雪梅
所有章节
加入示例说明
文档路径:
相关文档:
文档
路径
审核结果:
审核人
意见
签名档
全体团队
通过
目录
简介4
1.1背景4
1.2目标4
1.3技术要点4
Windows部分4
1.3.1数据库管理系统SSMS4
1.3.2Windows应用程序访问数据库技术5
简介
1.1背景
BlueHill公司为提高公司内部管理效率和管理水平,决定在日常管理中应用计算机信息系统。
你将为BlueHill公司设计和开发这套系统。
1.2目标
该管理系统将使用最新的.NET技术,充分利用.NET技术的特点构造出可扩展、易维护的企业管理信息系统。
该管理系统将基于微软操作系统平台,充分利用微软.NET平台的优势,结合使用Windows应用程序技术和Web应用程序技术,后台使用SQLSERVER数据库实现数据的存储和管理。
本文档的目的在于撰写后台数据库管理系统与前台Windows应用程序相结合的访问技术要点。
1.3技术要点
本次初期项目实训的内容主要涉及到人事管理系统中的“员工信息管理”和“部门管理”两个模块,并且只涉及到Windows应用程序技术部分,具体的系统结构、界面和数据库设计请参阅《人事管理系统_详细设计功能说明书(Windows).doc》和《人事管理系统_详细设计说明书(SQL).doc》文档。
本文档只描述了Windows应用程序与数据库管理系统的访问技术要点,并未涉及技术具体使用方法,这部分需要自学。
Windows部分
1.3.1数据库管理系统SSMS
SSMS全名为MicrosoftSQLServerManagementStudio,这是SQLServer的管理器,对数据库的创建、维护、管理均在此管理器中进行,对此管理器的熟练使用直接影响本人事管理系统数据库的开发和使用。
因此,必须掌握最基本的操作技术,主要包括:
●数据库、数据表的创建、修改和删除
●各种约束的创建、修改和删除
●视图的创建、修改和删除
●存储过程的创建、修改和删除
1.3.2Windows应用程序访问数据库技术
1.3.2.1建立新连接
.NET平台是无法直接访问数据库的,若要访问数据库必须利用数据库访问技术实现,这里涉及的数据库访问技术为ADO.NET2.0。
利用该技术进行数据库访问时,首先必须建立新的连接,即根据所需连接的数据库建立新连接,该连接中要确定数据源或数据提供程序的类型、服务器的名字、登录数据库服务器的方式及具体的数据库名称,经测试成功后即可生成新连接。
该连接中包含:
在SSMS中创建的数据库关系图、数据表、视图、存储过程、函数、同义词、类型和程序集等多项数据内容,在此连接之上,.NET平台即可对连接的数据库进行各种访问。
连接成功建立的示例如图1所示:
图1数据连接
1.3.2.2添加新数据源
新连接创建的是与整个数据库相关联的连接,而实际在应用系统中与某一功能相对应的对数据库的访问是局部的,不需要与全体发生关系,因此在实际处理问题时,需要为特定的功能创建与之相对应的数据源来完成操作。
在创建新数据源过程中需要指明该数据源的类型、所需的数据类型名称、连接字符串及保存的文件名称、所操作的对象等内容。
其中,所操作对象主要包括:
●数据表
●视图
●存储过程
●函数
在每一类数据库对象中可根据实际要实现的功能进行自由选择、设置,以完成不同的功能,因此在此处的设置即是对数据源具体显示内容的设置。
数据源成功建立的示例如图2所示:
图2数据源BluehillDataSet
1.3.2.3DataGridView控件的使用
当具体数据源创建成功后,即可在Windows应用程序中将此数据源所包含的实际数据显示出来。
方法有多种,其中最常用的方法即是使用DataGridView控件将数据显示在应用程序中。
DataGridView控件是将数据表中的数据以网格的形式一条条显示出来,在一页中可以显示多条数据记录。
可以采用直接将所创建好的数据源拖放到窗体上的方式生成,生成的同时系统将自动添加如DataSet、BindingSource、TableAdapter、BindingNavigator等组件,此种方法的好处是简单,同时无需编程即可实现添加、修改、删除数据记录的功能;缺点则是只能实现简单的Transact-SQL语句,一些复杂的Transact-SQL语句无法实现。
利用向导方式创建的DataGridView控件示例如图3所示:
图3DataGridView控件设计
可看到图下方的窗格中各组件的名字,前四个组件均是由向导自动生成的,可直接使用。
运行的效果是将某张表的全部内容均显示出来,其情况如图4所示:
图4全表内容显示
1.3.2.4加载控件
在VisualStudio.NET2005平台中的工具箱中,包含的是常用的一些控件工具,而本项目中所涉及的一些对数据库进行访问时所必须使用的控件并不在此工具箱内,需要将其添加进工具箱后才可使用。
具体方法:
在工具箱中的任意选项卡上单击鼠标右键,在弹出的快捷菜单中选择“选择项”,将所需添加的控件打勾并点击“确定”按钮。
控件加载成功后在工具箱中会出现新加控件的名称,其情况如图5所示:
图5新加控件类
1.3.2.5DataSet控件的使用
DataSet(数据集)是从数据库中检索到的数据在内存中的缓存。
DataSet控件由一组DataTable对象组成,可使这些对象与DataRelation对象互相关联,还可通过使用UniqueConstraint和ForeignKeyConstraint对象在DataSet中实施数据完整性。
当应用程序查看和操纵DataSet中的数据时,没有必要与数据源一直保持连接状态,只有在对数据源读取或写入数据时才使用数据库服务器资源。
DataSet存储数据的方式与关系数据库类似,其使用具有层次关系的表(DataTable)、行(DataRow)、列(DataColumn)的对象模型。
需要掌握有关DataSet的有关内容为:
●创建DataSet的方法(主要是类型化的DataSet)
⏹数据集编辑器
⏹TableAdapter配置向导
⏹数据源配置向导
●创建DataSet成员(DataTable,DataColumn,DataRow)的方法
1.3.2.6DataAdapter控件的使用
在ADO.NET数据库访问技术中,DataSet是数据在内存中的表示形式,提供独立于数据源的关系编程模型。
DataSet表示整个数据集,包含表、约束和表间的关系。
由于其独立于数据源,因此其可以包含本地数据也可包含多个数据源的数据。
但对于在数据源中加载数据,其不提供任何直接的支持。
而DataAdapter是DataSet和数据源之间的桥梁,由DataAdapter控制与现有数据源之间的交互。
DataAdapter用于从数据源中检索数据并填充DataSet中的表,还可将对DataSet所做的更改保存至数据源。
其使用Connection对象连接至数据源,并使用Command对象从数据源中检索数据并将所做的更改返回数据源。
DataAdapter仅在确实需要填充DataSet对象时,才使用数据库连接。
在完成操作之后,将释放所有的服务器资源。
在本项目中需要掌握有关DataAdapter控件的技术为:
●创建DataAdapter对象(向导方式、编程方式)
●DataAdapter的方法(Fill、Update等)
●Connection对象的创建和使用
●Command对象的创建和使用
该控件可实现较复杂的Transact-SQL语句功能的实现,如带参数的查询、数据的插入、删除、更新等。
图6显示的是带有参数的查询的结果:
图6根据输入的“员工编号”进行查询的效果
注意:
DataAdapter控件从数据源中按要求读出数据,读出的结果填充到DataSet中去,再将DataSet中的相关数据作为DataGridView控件的数据源(DataSource),这样就可以在DataGridView控件中将上述所需要的数据显示出来。
1.3.2.7BindingSource控件的使用
该控件的作用是通过将BindingSource控件添加到数据源中,然后将窗体中的控件绑定到BindingSource控件上。
实现的是将在应用程序窗体中输入的数据通过数据源与后台数据库中的数据进行交互,包括:
新增、修改、删除等。
该控件主要用于多个窗体控件与同一数据源的绑定。
本项目中需要掌握本控件的操作技术有:
●该控件常用的属性、方法、事件
●进行控件与数据源绑定的方法
1.3.2.8BindingNavigator控件的使用
BindingNavigator控件是.NETFramework2.0新增的,用于表示窗体上绑定到数据的控件的导航和操作用户界面(UI)。
该控件实现的是在窗体上定位和操作数据的标准化方法。
多数情况下该控件与BindingSource控件成对出现,用于浏览窗体上的数据记录,并与它们交互。
上述两控件共同实现类似于DataGridView控件自动生成的导航工具栏。