现在的位置: 首页 > 综合 > 正文

怎样用VS2005进行三层结构应用程序的开发

2013年06月22日 ⁄ 综合 ⁄ 共 2639字 ⁄ 字号 评论关闭
 VS2005.NET进行三层结构应用程序的开发

1.三层之间的关系:

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

文字描述:

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

 

优点:

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

2、使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计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

     {

 

         #region Variables

 

         private string m_strConnectionString;

         private OleDbConnection m_objConnection;

 

         #endregion Variables

 

         #region Functions

 

         #region DataAgend

         ///

         /// Initial Function

         ///

         ///

         public DataAgent(string strConnection)

         {

              this.m_strConnectionString = strConnection;

         }

         #endregion DataAgend

 

         #region OpenDataBase

         ///

         /// function to open data base

         ///

         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 OpenDataBase

 

         #region CloseDataBase

         ///

         /// the function to cloase data base

         ///

         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;

              }

抱歉!评论已关闭.