三层架构CS程序设计实例(C#描述).docx

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三层架构C/S程序设计实

例(C#描述)

1 三层之间的关系:

三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access) 文字描述:

Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过Data Access对Data Base进行操作。

优点:

*增加了代码的重用。Data Access可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/S部分可以共用一系列的Business组件)。

*使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。

2 Data Access的具体实现:

DataAgent类型中变量和方法的说明:

private string m_strConnectionString; //连接字符串

private OleDbConnection m_objConnection; //数据库连接

public DataAgent(string strConnection) //构造方法,传入的参数为连接字符串private void OpenDataBase() //打开数据库连接

private void #region CloseDataBase() //关闭数据库连接

public DataView GetDataView(string strSqlStat) //根据传入的连接字符串返回DataView

具体实现代码如下:

public class DataAgent

{

private string m_strConnectionString;

private OleDbConnection m_objConnection;

#region DataAgend

///

/// Initial Function

///

///

public DataAgent(string strConnection)

{

this.m_strConnectionString = strConnection;

}

#endregion

#region OpenDataBase

///

/// Open Database

///

private void OpenDataBase()

{

try

{

this.m_objConnection = new OleDbConnection();

this.m_objConnection.ConnectionString = this.m_strConnectionString;

if (this.m_objConnection.State != ConnectionState.Open)

{

this.m_objConnection.Open();

}

}

catch (Exception e)

{

throw e;

}

}

#endregion

#region CloseDataBase

///

/// Close Database

///

private void CloseDataBase()

{

if (this.m_objConnection != null)

{

if (this.m_objConnection.State == ConnectionState.Open)

{

this.m_objConnection.Close();

}

}

}

#endregion

#region GetDataView

///

/// Execute the sql and return the default table view

///

///Select String ///DataView of the DataTable

public DataView GetDataView(string strSqlStat)

{

try

{

this.OpenDataBase();

OleDbDataAdapter objDataAdapter = new OleDbDataAdapter(strSqlStat.Trim(), this.m_objConnection);

DataSet objDataSet = new DataSet();

objDataAdapter.Fill(objDataSet);

return objDataSet.Tables[0].DefaultView;

}

catch (Exception e)

{

throw e;

}

finally

{

this.CloseDataBase();

}

}

#endregion

相关文档
最新文档