网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.NET应用程序的三层设计模型

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13
 在这一层中要引入DataAccess 项目的名字空间, 从而使用该项目提供的功能实现对数据库的访问。
 
  (3) DataAccess 项目
 
  DataAccess 项目与“数据访问层”对应,在这一层中也包括四个“类”的定义:
 
  DirectoryAccess、ArticleAccess、UserAccess 和RightAccess.每个类的成员函数都是根据业务逻辑层的要求来访问SQL Server 中相应的过程(Stored Procedure)。
 
  例如: 在ArticleAccess 类中的LoadDetailByID 方法,就是用来调用SQL Server 中的GetArticleDetailByIDStatus 过程,从而实现通过文章的ID和状态得到文章的详细信息。
 
  在CLR 平台上进行。net 编程,一般由系统的垃圾收集机制(Garbage Collect)来消除不再使用的对象。但由于访问数据库将会消耗大量的系统资源, 所以这一层的四个类都派生自 System.IDisposable 接口(使用using 语句引用),使得在不使用本层对象的时候及时释放掉所占用的资源。
  

 (4) Common 项目
 
  为了使得各层之间在传递数据时具有统一的数据接口,在三个层次对应的项目之外又开发了一个Common 项目。在这个项目中定义了四个类:
 
  DirectoryData、AricleData、UserData 和RightData.这些类都派生自System.Data.DataSet 类,在每个DataSet 中定义了一些DataTable 用来按照固定的格式存储相应的数据。
 
  对于Web、BusinessFacade 和DataAccess 项目中定义的类, 其成员函数的参数和返回值的类型就可以采用Common 项目中定义的类, 这些类就是不同层之间数据传送的标准接口。
 
  附加代码:
 
  在ASP.NET 支持下,利用ADO.NET 可方便地访问基于Web 的数据库,不管数据源是关系数据库、非结构的数据库、文字数据库(如XML文件),还是如Microsoft Excel 一样的表格数据库,都可通过ADO.NET来存取。
 
  在实现远程数据库时,需要将ADO 与RDS 集成使用,以实现高性能、高可靠性的远程操作功能。
 
  DataGrid 控件的更新Code 如下:
 
  控件的更新Code 如下:

void editcommand (Object sender, DataGridCommandEventArgs e){grid1.EditItemIndex = (int)e.Item.ItemIndex;//重新读取数据并进行绑定  bindgrid();}void Cancelcommand (Object sender, DataGridCommandEventArgs e){grid1.EditItemIndex = -1;//重新读取数据并进行绑定  bindgrid();}void updatecommand (Object sender ,DataGridCommandEventArgs e){//利用Sql 语句实现数据的更新  string xm = grid1.DataKeys[(int)e.Item.ItemIndex];string cols;int numcols = e.Item. Cells.Count;for (int i = 2; i < numcols; i++){//取出各编辑框的值   String colvalue = ((TextBox)e.Item.Cells[i].Controls[0]).Text;   cols[i-2] = colvalue ;}string updatecmd ="UPDATE reg SET name =''"+ cols[0 ] +"'',";updatecmd +="sex =''"+ cols +"'',addr =''"+ cols +"'',";updatecmd +="dh =''"+ cols +"'' where name =" + xm;SqlCommand mycommand = new SqlCommand(updatecmd, myconnection);mycommand.Connection.Open(); //打开数据连接  mycommand.ExecuteNonQuery(); //执行连接  grid1.EditItemIndex = -1; //连接成功,返回初始状态  mycommand.Connection.Close(); //关闭连接  bindgrid(); //重新读取数据并绑定}void bindgrid(){//数据绑定 SqlDataAdapter mycommand = new SqlDataAdapter("select * from reg", myconnection); DataSet ds = new DataSet(); mycommand.Fill(ds,"reg"); grid1.DataSource = ds.Tables["reg"].DefaultView; grid1.DataBind();}
  

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号