课程案例企业办公自动化管理系统PPT推荐.ppt
《课程案例企业办公自动化管理系统PPT推荐.ppt》由会员分享,可在线阅读,更多相关《课程案例企业办公自动化管理系统PPT推荐.ppt(77页珍藏版)》请在冰豆网上搜索。
o实现功能强大的公告发布与管理功能。
o系统最大限度地实现易维护性和易操作性o界面简洁、框架清晰、美观大方。
o实现企业部门和职员的信息管理功能。
o通过后台查看与删除公告信息、查看公文信息。
o对员工信息、职位信息与部门信息的管理。
二、系统设计o业务流程图系统功能结构o企业办公自动化管理系统前台(职员)功能结构图系统功能结构o企业办公自动化管理系统前台(职员)功能结构图构建开放环境o1.web系统开发环境页面开发环境:
VS2005集成开发环境开发语言:
ASP.NET+C#后台数据库:
SQLServer2000开发环境运行平台:
XP(SP2)o2.服务器端WEB服务器:
IIS6.0数据库服务器:
SQLServer2000网站服务器运行环境:
.NETFrameworksdk2.0o3.客户端n浏览器:
IE6.0n分辨率:
最佳效果1024768数据库设计o系统数据库采用SQLServer2000数据库,系统数据库名称为db_OAS.数据库db_OAS中包括多张数据表。
下面分别给出数据表概要说明、数据库E-R图、数据表关系图、数据表的结构。
数据表概要说明o数据表树形结构如下图:
数据库E-R的分析o课堂练习:
对上表中的各个实体用E-R图进行分析。
要求:
1.用E-R图描述出各个实体。
2.描述数据表结构。
3.描述数据表之间的关系。
实体描述举例o企业部门实体E-R图描述o企业部门数据表结构描述数据表的关系图试写出下列需求的SQL语句o根据输入的”用户名”“密码”查询“系统用户表”中是否有记录存在,并判断该用户是“管理员”还是“普通职员”o增加部门信息;
o根据ID查看某个部门信息o删除某个部门复杂SQL语句的使用显示企业的年度优秀员工信息1.优秀员工的标准通过考勤考核(迟到和早退)2.考勤结果的前2位3.显示的信息包括:
员工姓名,所在部门,照片相关资料来自SQL联机丛书使用使用TOP和和PERCENT限制结果集限制结果集oTOP子句限制返回到结果集中的行数。
oTOPnPERCENTon指定返回的行数。
如果未指定PERCENT,n就是返回的行数。
o如果一个SELECT语句既包含TOP又包含ORDERBY子句,那么返回的行将会从排序后的结果集中选择。
整个结果集按照指定的顺序建立并且返回排好序的结果集的前n行。
相关资料来自SQL联机丛书o用用ORDERBY对行进行排序对行进行排序oORDERBY子句按查询结果中的一列或多列对查询结果进行排序,用作排序依据的列总长度可达8,060。
有关ORDERBY子句最大大小的更多信息,请参见SELECT。
o排序可以是升序的(ASC),也可以是降序的(DESC)。
如果没有指定升序还是降序,就假定为ASC。
相关资料来自SQL联机丛书o聚合函数聚合函数o聚合函数对一组值执行计算并返回单一的值。
除COUNT函数之外,聚合函数忽略空值。
聚合函数经常与SELECT语句的GROUPBY子句一同使用。
Transact-SQL编程语言提供下列聚合函数:
oAVGMAXSUMMINCOUNT等相关资料来自SQL联机丛书o使用内联接使用内联接o内联接是用比较运算符比较要联接列的值的联接。
下面的Transact-SQL查询是内联接的一个示例:
USEpubsSELECT*FROMauthorsASaINNERJOINpublishersASpONa.city=p.cityORDERBYa.au_lnameDESC此内联接称为相等联接。
它返回两个表中的所有列,但只返回在联接列中具有相等值的行。
oselecta.name,a.dept,a.photoPath,b.stateofromtb_employeeASainnerjoino(selectTOP2*ofromo(selectemployeeName,sum(late)+sum(quit)asstateofromtb_signgroupbyemployeeName)asaaoorderbystate)asboona.name=b.employeeNameoorderbyb.stateADO.NET介绍oADO.NET对MicrosoftSQLServer和XML等数据源以及通过OLEDB和XML公开的数据源提供一致的访问。
o在创建ADO.NET时,Microsoft具有以下设计目标:
1.利用当前的ActiveX数据类型(ADO)知识。
2.支持N层编程模型。
3.集成XML支持。
ADO.NET介绍o和.netframework类库中其他所有东西一样,ADO.net不过是一组类型(TYPES)而已,他们都位于SYSTEM.DATA名字空间中。
ADO.NET介绍o每一种.NET数据供应器都实现为一组类型(types);
oSystem.Data.SqlClient名字空间-SQLProvideroSystem.Data.OleDb名字空间-OLEDBProvidero不论选择哪种Provider,每一种都提供一套相似的类(Class)ADO.NET介绍.NET数据provider都支持的一些基础对象。
它们是:
oConnection:
用于建立和释放连接(SqlConnection-OleDbConnection)oCommand:
用于存储和执行命令,如一个SQL查询或一个存储过程,并为命令指定参数。
oDataReader:
对数据库中的数据提供直接、循环的只读的访问。
oDataAdapter:
建造于DataReader之上,用于创建和操作DataSet实体。
ADO.NET介绍o客户可以通过DataReader或者DataSet来访问数据。
VisualStudio中的数据命名空间.NETFramework中的数据和XML命名空间包括:
oSystem.Data由构成ADO.NET结构的类组成,该结构是托管应用程序的主要数据访问方法。
ADO.NET结构使您可以生成可用于有效管理来自多个数据源的数据的组件。
oSystem.Data.OleDb构成兼容数据源的OLEDB.NETFramework数据提供程序的类。
这些类使您能连接到OLEDB数据源、针对数据源执行命令并读取结果。
oSystem.Data.SqlClient构成SQLServer.NETFramework数据提供程序的类,该提供程序允许您连接到SQLServer7.0、执行命令并读取结果。
System.Data.SqlClient命名空间与System.Data.OleDb命名空间类似,但为访问SQLServer7.0和更高版本进行了优化。
访问数据示例o示例如何打开一连接,如何创建一个命令,以及如何利用DataReaer读取结果。
o示例展示如何使用DataSets(一个DataAdapter如何用于将一个DataTable添加到一个DataSets中)访问数据示例-DataReader1.设置一个连接SqlConnectionCn=NewSqlConnection(Server=(local);
database=db_OAS;
Uid=sa;
Pwd=);
2.创建一个命令SqlCommandCmd=Cn.CreateCommand();
Cmd.CommandText=select*fromtb_departmentwhereID=20;
3.打开连接Cn.Open();
4.执行命令-将结果存入DataReaderoSqlDataReaderRdr=Cmd.ExecuteReader();
访问数据示例-DataReadero5.取结果并显示otryowhile(Rdr.Read()oooSystem.Console.WriteLine(String.Format(0,1,2,oRdr0,Rdr1,Rdr2);
ooocatch(System.Exceptione)ooSystem.Console.WriteLine(Error:
0,oe.Message);
oo访问数据示例-DataReadero6.释放资源,关闭连接ofinallyRdr.Close();
Cn.Close();
访问数据示例-DataSetsoSqlConnectionCn=newSqlConnection(Server=(local);
oSqlCommandCmd=Cn.CreateCommand();
oCmd.CommandText=select*fromtb_departmentwhereID=20;
oSqlDataAdapterDa=newSqlDataAdapter();
oDa.SelectCommand=Cmd;
oDataSetDs=newDataSet();
oCn.Open();
oDa.Fill(Ds,tb_deparment);
oCn.Close();
访问数据示例-DataSeto取数据;
otryif(Ds.Tables0.Rows.Count0)DataRowrow=Ds.Tables0.Rows0;
System.Console.WriteLine(String.Format(0,1,2,row0,row1,row2);
ocatch(System.Exceptione)System.Console.WriteLine(Error:
0,e.Message);
访问数据示例-DataSetofinallyif(Cn.State=ConnectionState.Open)Cn.Close();
o#region利用DataSet存取查询结果;
publicDataSetExecuteSelect(stringstrSql,stringstrTableName)ooSqlConnectionconn=newoSqlConnection(strConn);
oSqlCommandcom=conn.CreateCommand();
ocom.CommandText=strSql;
oSqlDataAdapterda=newSqlDataAdapter();
oda.SelectCommand=com;
oDataSetds=newDataSet();
oconn.Open();
oda.Fill(ds,strTableName);
oc