



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三层架构C/S程序设计实例(C#描述) .三层之间的关系: 三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access)文字描述:Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过Data Access对Data Base进行操作。优点:l 增加了代码的重用。Data Access可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/S部分可以共用一系列的Business组件)。l 使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。.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.Tables0.DefaultView; catch (Exception e) throw e; finally this.CloseDataBase(); #endregion.Business的具体实现:建立名为Base的类,此类作为其他事务类的基类,其中定义了一个DataAgent的实例。其他所有的Business类都从该改类派生。在该类中添加对DataAgent的引用,使所有的事务类都能使用DataAgent中的方法。Base.cs源代码:public abstract class Base protected DataAgent OleDBAgent = new DataAgent(Provider=SQLOLEDB;Data Source=(local);DataBase=test;User ID=sa;PWD=);准备好了数据操作层和事务层的基类,底下就可以正式地开始业务逻辑类的开发了,如有一个显示新闻的类News,其中包含了一个GetNewsList()的方法,该方法用来获取所有的新闻标题列表,代码如下:public class News : Base public DataView GetNewsList() string strSql; strSql = ; strSql += SELECT Top 10 NewsId,NewsTitle ; strSql += FROM Tb_News; strSql += WHERE NewsEnable = 1; strSql += ORDER BY NewsId ; return OleDBAgent.GetDataView(strSql); 由于数据库结构比较简单,在此就不再给出详细的表结构。.UI层对Business中接口的调用首先,在窗体Form1中添加对News类的引用。然后,在窗体Form1中添加一个(DataGridView)dgNews用来显示新闻列表。在窗体的Form1_L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业家与员工签订股权合同范本
- 2025租赁店铺合同
- 2025商业用房租赁合同范本
- 2025二手房买卖合同签订常见问题 二手房买卖合同范本
- 2025建筑工人安全生产合同协议书范本
- 2024年金华市兰溪市卫健系统高校招聘医学类真题
- 实际难题解析
- 人力股合同(2025年版)
- 建材原材料合同范本
- 离婚协议最详细的(2025年版)
- 棋牌室简单人合伙协议书
- JT-T-4-2019公路桥梁板式橡胶支座
- JBT 14713-2024 锂离子电池用连续式真空干燥系统技术规范(正式版)
- 四川省泸州市龙马潭区2022-2023学年六年级下学期期末考试语文试卷
- MOOC 信息检索-西南交通大学 中国大学慕课答案
- GB/T 43731-2024生物样本库中生物样本处理方法的确认和验证通用要求
- 信息化运维服务服务质量保障方案
- 天耀中华合唱简谱大剧院版
- 《食品营养与卫生学》课程标准
- 电气设备与线路的安装与调试
- 达利《记忆的永恒》课件
评论
0/150
提交评论