




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上一篇:ASP.NET所谓得三层分层的小解|下一篇: 2.0 中的 三层 2.0 三层架构的实现(最最原始,简单,一般, 但不平凡)用通俗的语言说出难以理解的。 1 第一层 表示层 用通俗的语言就是 UI 界面, 再通俗点就是我们平时上网时看到的界面。2 第二层 业务逻辑层 ,说白了 ,就是 一个类 ,该类利用下边一层 ( 数据访问层 的方法返回的结果 DataSet ) 把 各个数据对象分解,再 从新 以更小的对象存储起来 (更加的有机体) 等待上层的应用。3 第三层 数据访问曾 。 该层说白了也是一个类 。 该类 其实是把数据库里的 数据 用该类的方法( 以sql查询为核心) 执行。 ( SRUD );下面给出示例代码:界面:web.congfig数据访问层代码: using System.Web;using System.Configuration;using System.Data;using System.Data.SqlClient;public class AuthorDB /构造函数 public AuthorDB() /获取state集合。返回DataSet,并通过DropDownList显示 public static DataSet GetStates() /获取连接字符串 string connectionString = ConfigurationManager.ConnectionStringsPubsConnectionString.ConnectionString; /创建并设置SqlConnection SqlConnection dbConnection = new SqlConnection(connectionString); /定义SQL查询语句 string queryString = Select distinct state from authors; /创建并设置SqlCommand SqlCommand dbCommand = new SqlCommand(); dbCommand.Connection = dbConnection; dbCommand.CommandType = CommandType.Text; dbCommand.CommandText = queryString; /创建SqlDataAdapter,并获取数据 SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCommand); DataSet ds = new DataSet(); dataAdapter.Fill(ds); /返回数据 return ds; / 根据state参数,获取数据记录。返回DataSet,并通过GridView显示 public static DataSet GetAuthorsByState(string state) /获取连接字符串 string connectionString = ConfigurationManager.ConnectionStringsPubsConnectionString.ConnectionString; /创建并设置SqlConnection SqlConnection dbConnection = new SqlConnection(connectionString); /定义SQL查询语句 string queryString = Select au_id,au_lname,au_fname,state from authors where state=state; /创建并设置SqlCommand SqlCommand dbCommand = new SqlCommand(); dbCommand.Connection = dbConnection; dbCommand.CommandType = CommandType.Text; dbCommand.CommandText = queryString; /设置SqlParameter SqlParameter dbParameter_state = new SqlParameter(); dbParameter_state.ParameterName = state; dbParameter_state.Value = state; dbParameter_state.DbType = DbType.StringFixedLength; /向SqlCommmand中添加SqlParameter dbCommand.Parameters.Add(dbParameter_state); /创建SqlDataAdapter,并获取数据 SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCommand); DataSet ds = new DataSet(); dataAdapter.Fill(ds); /返回数据 return ds; /更新数据记录 public static int UpdateAuthor(string au_id, string au_lname, string au_fname, string state) /获取连接字符串 string connectionString = ConfigurationManager.ConnectionStringsPubsConnectionString.ConnectionString; /创建并设置SqlConnection SqlConnection dbConnection = new SqlConnection(connectionString); /定义SQL查询语句 string queryString = UPDATE authors SET au_fname=au_fname, au_lname=au_lname, state=state WHERE au_id = au_id; /创建并设置SqlCommand SqlCommand dbCommand = new SqlCommand(); dbCommand.Connection = dbConnection; dbCommand.CommandType = CommandType.Text; dbCommand.CommandText = queryString; /设置参数au_id SqlParameter dbParameter_au_id = new SqlParameter(); dbParameter_au_id.ParameterName = au_id; dbParameter_au_id.Value = au_id; dbParameter_au_id.DbType = DbType.String; /向SqlCommmand中添加au_id dbCommand.Parameters.Add(dbParameter_au_id); /设置参数au_lname SqlParameter dbParameter_au_lname = new SqlParameter(); dbParameter_au_lname.ParameterName = au_lname; dbParameter_au_lname.Value = au_lname; dbParameter_au_lname.DbType = DbType.String; /向SqlCommmand中添加au_lname dbCommand.Parameters.Add(dbParameter_au_lname); /设置参数au_fname SqlParameter dbParameter_au_fname = new SqlParameter(); dbParameter_au_fname.ParameterName = au_fname; dbParameter_au_fname.Value = au_fname; dbParameter_au_fname.DbType = DbType.String; /向SqlCommmand中添加au_fname dbCommand.Parameters.Add(dbParameter_au_fname); /设置参数state SqlParameter dbParameter_state = new SqlParameter(); dbParameter_state.ParameterName = state; dbParameter_state.Value = state; dbParameter_state.DbType = DbType.StringFixedLength; /向SqlCommmand中添加state dbCommand.Parameters.Add(dbParameter_state); /执行SQL语句,并且返回受影响的行数 int rowsAffected = 0; dbConnection.Open(); try rowsAffected = dbCommand.ExecuteNonQuery(); finally dbConnection.Close(); return rowsAffected; 业务实体类代码:using System;public class Author #region 定义私有字段 private string _id; private string _firstname; private string _lastName; private string _state; #endregion #region 定义属性 /定义属性ID public string ID get return _id; set _id = value; /定义属性FirstName public string FirstName get return _firstname; set _firstname = value; /定义属性LastName public string LastName get return _lastName; set _lastName = value; /定义属性State public string State get return _state; set _state = value; #endregion #region 定义构造函数 /定义构造函数1 public Author() /定义构造函数2 public Author(string id, string lastname, string firstname, string state) this.ID = id; this.FirstName = firstname; this.LastName = lastname; this.State = state; #endregion业务逻辑类代码: using System;using System.Data;using System.Collections.Generic;public class AuthorsComponent #region 定义构造函数 public AuthorsComponent() #endregion #region 实现方法 /根据参数state和sortExpression,实现获取Author对象集合并对其排序 public List GetAuthorsByState(string state, string sortExpression) /初始化Author对象集合实例 List authors = new List(); /从数据访问层获取DataSet类型返回数据 DataSet ds = AuthorDB.GetAuthorsByState(state); /使用返回数据填充Author对象集合 foreach (DataRow row in ds.Tables0.Rows) authors.Add(new Author(string)rowau_id, (string)rowau_lname, (string)rowau_fname, (string)rowstate); /实现自定义排序 authors.Sort(new AuthorComparer(sortExpression); /返回Author对象集合 return authors; /实现参数为Author对象时,数据的更新方法 public int UpdateAuthor(Author a) /调用数据访问层静态方法 return AuthorDB.UpdateAuthor(a.ID, a.LastName, a.FirstName, a.State); /实现参数为值类型时,数据的更新方法 public int UpdateAuthor(string ID, string LastName, string FirstName, string State) /调用数据访问层静态方法 return AuthorDB.UpdateAuthor(ID, LastName, FirstName, State); /获取返回值为泛型的地区名集合 public List GetStates() /初始化泛型对象实例 List states = new List(); /从数据访问层获取DataSet类型的地区名集合 DataSet ds = AuthorDB.GetStates(); /填充泛型对象 foreach (DataRow row in ds.Tables0.Rows) states.Add(String)rowstate); /返回泛型对象 return states; #endregion/实现自定义排序,该类实现泛型的IComparer接口public class AuthorComparer : IComparer private string _sortColumn; private bool _reverse; /自定义构造函数 public AuthorComparer(string sortExpression) _reverse = sortExpression.ToLowerInvariant().EndsWith( desc); if (_reverse) _sortColumn = sortEx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南省郴州桂阳县龙潭街道城镇公益性岗位招聘考前自测高频考点模拟试题及答案详解(各地真题)
- 2025福建漳州长泰区中医院招聘2人模拟试卷及答案详解(夺冠系列)
- 2025福建福州罗源县卫健系统事业单位招聘编内41人考前自测高频考点模拟试题附答案详解
- 2025内蒙古锡林郭勒盟锡林浩特市招募公益性岗位139人考前自测高频考点模拟试题及一套答案详解
- 2025湖北荆州区校园招聘中小学教师49人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 浙江国企招聘2025年金华武义县部分国有企业公开招聘25人笔试历年参考题库附带答案详解
- 庐山文控文化发展有限责任公司公开招聘笔试历年参考题库附带答案详解
- 2025陕西西安秋季博士暨高层次急需紧缺人才招聘500人笔试历年参考题库附带答案详解
- 2025贵州丹寨县扶贫开发有限公司(第二次)招聘4人笔试历年参考题库附带答案详解
- 2025甘肃省建设投资(控股)集团有限公司招聘笔试历年参考题库附带答案详解
- 路灯施工安全责任协议书
- 沪科版七年级上册初一数学全册教案(教学设计)
- 防止电力生产事故25项反措地重点要求最终版
- 第2章-信息可视化设计的概念、原则与类型60课件
- 日本蜡烛图技术完整版
- 崇义县凌志矿冶有限责任公司过埠铁木里铁矿(新增资源)采矿权出让收益评估报告
- 大学学生违纪处罚办法
- 癌痛规范化治疗课件资料
- 牛津9AU3-Head-to-head名师制作优质教学课件
- 深信服SDWAN产品介绍
- 雨露计划职业教育补助-学籍证明-模板四川优秀资料
评论
0/150
提交评论