
⑥ 小山束高瞅革牧树学院 Shandong Institute of Commerce and Technology 第四章 功能实现1
第四章 功能实现1

上章回顾 ·了解Socket:套接字 ·掌握简单的网编程 ·了解多线程 ·掌握简单多线程编程 圖a国■ home back first prev next last
home back first prev next last 2 上章回顾 • 了解Socket套接字 • 掌握简单的网络编程 • 了解多线程 • 掌握简单多线程编程

本章目标 实现数据访问层 实现数据实体层 实现业务逻辑层 实现部门信息维护功能 图U☑ home back first prev next last 3
home back first prev next last 3 本章目标 • 实现数据访问层 • 实现数据实体层 • 实现业务逻辑层 • 实现部门信息维护功能

ADO.NET▣顾 System.Data.SqIClient命名空间常用对象 对象 作用 SqlCommand 表示要对SQL Server数据库执行的一个T.SQL语句或存储过程 SqlConnection 表示SQL Server数据库的一个打开的连接 SqlDataAdapter 表示用于填充Dataset.和更新SQL Server数据库的一组数据命令 和一个数据库连接。 SqlDataReader 提供一种从SQL Server数据库读取行的只进流的方式: SqlException 收集SQL Server.NET Framework数据提供程序生成的所有错误 SqlParameter 表示SqlCommand的参数,也可以是它到Dataset列的映射。 图a国 home back first prev next last 4
home back first prev next last 4 ADO.NET回顾 • System.Data.SqlClient 命名空间常用对象 对象 作用 SqlCommand 表示要对 SQL Server 数据库执行的一个 T-SQL 语句或存储过程 SqlConnection 表示 SQL Server 数据库的一个打开的连接 SqlDataAdapter 表示用于填充 Dataset 和更新 SQL Server 数据库的一组数据命令 和一个数据库连接。 SqlDataReader 提供一种从 SQL Server 数据库读取行的只进流的方式。 SqlException 收集 SQL Server .NET Framework 数据提供程序生成的所有错误 SqlParameter 表示 SqlCommand 的参数,也可以是它到Dataset 列的映射

数据访问类1 DataAccess类-1 - DataAccess类包含三个方法: >GetConnection0返回一个SqlConnection数据库连接对象 >GetConnString0返回数据库连接字符串 >GetCommand0返回一个带连接的SalCommand对象 DataAccess 因 Class 日方法 =◆GetCommand ◆GetConnection s◆GetConnString 图☑因国■ home back first prev next last
home back first prev next last 5 数据访问类-1 • DataAccess类-1 – DataAccess类包含三个方法: ➢GetConnection() 返回一个SqlConnection数据库连接对象 ➢GetConnString() 返回数据库连接字符串 ➢GetCommand() 返回一个带连接的SqlCommand对象

数据访问类2 ·DataAccess类2 private static string GetConnString() XmlDocument doc=new XmlDocument0;I定义XML文档对象 doc.Load("ConnString.xml";/加载XML文件 XmlNode rootNode=doc.DocumentElement; string Connstr=rootNode.FirstChild.Value; return Connstr; private static SqlConnection GetConnection SqlConnection conn=new SqlConnection(GetConnString(0);l∥定义数据库连接对象 return conn; public static SqlCommand GetCommand(string sqlstr) SqlCommand cmd=new SqlCommand(sqlstr,GetConnection());根据参数生成Command对象 return cmd; 图U☑ home back first prev next last G
home back first prev next last 6 数据访问类-2 • DataAccess类-2 private static string GetConnString() { XmlDocument doc = new XmlDocument(); //定义XML文档对象 doc.Load(“ConnString.xml” ); //加载XML文件 XmlNode rootNode = doc.DocumentElement; string Connstr = rootNode.FirstChild.Value ; return Connstr; } private static SqlConnection GetConnection() { SqlConnection conn = new SqlConnection(GetConnString()) ; //定义数据库连接对象 return conn; } public static SqlCommand GetCommand(string sqlstr) { SqlCommand cmd = new SqlCommand(sqlstr, GetConnection()); //根据参数生成Command对象 return cmd; }

数据实体层1 数据实体层包含5个类对象: CorpInfo -1.公司信息类-CorpInfo DeptInfo -2.部门信息类-DeptInfo -3.用户信息类-UserInfo UserInfo -4.客户端对象类-Client 数据实体层 -5.在线用户类0 nLineUser /个 Client OnLineUser 图U国因 home back first prev next last 7
home back first prev next last 7 数据实体层-1 • 数据实体层包含5个类对象: – 1.公司信息类-CorpInfo – 2.部门信息类-DeptInfo – 3.用户信息类-UserInfo – 4.客户端对象类-Client – 5.在线用户类OnLineUser 数据实体层 UserInfo CorpInfo DeptInfo OnLineUser Client

数据实体层2 公司信息类-CorpInfo包含公司的基本信息和对公司 信息维护的基本方法。 CorpInfo Class CorpInfo Class 日属性 7 CorpAddress 日方法 CorpDoMain CorpEmail 三◆Add CorpFax 三◆Modify 子CorpName ◆SelectCropInfo CorpPhone 公司信息类的基本属性 公司信息类的基本方法 圖a国■ home back first prev next last 8
home back first prev next last 8 数据实体层-2 • 公司信息类-CorpInfo包含公司的基本信息和对公司 信息维护的基本方法。 公司信息类的基本属性 公司信息类的基本方法

数据实体层3 部门信息类-Deptlnfo包含部门的基本信息和部门信 息维护的基本方法。 属性: 方法: DeptInfo 列 DeptInfo 因 Class Class 7 7 日属性 日方法 DeptDescr DeptID 三◆Add DeptName 三◆Delete 三◆Modify 三◆SelectDeptInfo(+2重载) 图回国回■ home back first prev next last g
home back first prev next last 9 数据实体层-3 • 部门信息类-DeptInfo包含部门的基本信息和部门信 息维护的基本方法。 属性: 方法:

数据实体层4 ·Deptinfo:类Add0方法实现 public bool Add() bool falg =false; SqlCommand cmd=nult;∥定义SqlCommand对象 string sqlstr ="insert into t_Dept values("+this.deptname+"+this.deptdescr+")"; try cmd=UtilClass.DataAccess..GetCommand(sqIstr;获取SqlCommandy对象 cmd.Connection.Open(); cmd.ExecuteNonQuery( cmd.Connection.Close(); falg=true; catch (Exception err) 【添加异常处理过程 cmd.Connection.Close(); } return falg; 窗U国 home back first prev next last 10
home back first prev next last 10 数据实体层-4 • DeptInfo类-Add()方法实现 public bool Add() { bool falg =false; SqlCommand cmd = null; //定义SqlCommand对象 string sqlstr = "insert into t_Dept values('" + this.deptname + "','" + this.deptdescr + "')"; try { cmd = UtilClass.DataAccess.GetCommand(sqlstr); //获取SqlCommand对象 cmd.Connection.Open(); cmd.ExecuteNonQuery(); cmd.Connection.Close(); falg = true; } catch (Exception err) { //添加异常处理过程 cmd.Connection.Close(); } return falg; }