快速业务通道

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

返回“ASP.NET 2.0数据教程目录”

导言:

在前面的3章里我们为处理二进制数据添加了很多的功能。我们 首先在表Categories里添加BrochurePath列,并更新了体系结构。同样,为了处 理表Categorie里现有的Picture列,我们在数据访问层和业务逻辑层里增加了相 应的方法。同时我们创建一个页面,在GridView控件里显示二进制数据 ——包含一个指向说明小册子的下载链接,并将每个类的图片显示在 <img>元素里。同时我们添加一个DetailsView控件,供用户添加新的类, 并上传其图片和小册子数据。

剩下的就是添加编辑和删除功能,本章我们 将通过GridView控件内建的编辑和删除功能来实现。当编辑一个类时,我们允许 用户用任意指定的图片将原来的换掉;也可以用新的小册子将现有的替换掉,甚 至不再包含小册子文件。让我们开始吧!

第1步:更新数据访问层

虽然数据访问层包含自动生成的Insert, Update和Delete方法,但它们都基于 CategoriesTableAdapter的主查询,因此并不包含Picture列。自然,Insert和 Update

方法也不包含picture列的相应参数。就像56章做的那样,我们需 要为更新Categories表而创建新的TableAdapter方法。

右键点击 CategoriesTableAdapter的顶部,选择“添加查询”,打开 TableAdapter查询设置向导,我们首先选择“使用SQL语句”,点Next ,再选“UPDATE”,再点Next.

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

图1:选择“UPDATE”选项

我们现在需要指定UPDATE SQL语句。向导自动创建一个基于TableAdapter主查询的UPDATE语句(它更新 CategoryName, Description和BrochurePath值)。更新该语句以包含Picture列 ,以及@Picture参数,像如下这样:

UPDATE [Categories] SET
  [CategoryName] = @CategoryName,
  [Description] = @Description,
  [BrochurePath] = @BrochurePath ,
   [Picture] = @Picture
WHERE (([CategoryID] = @Original_CategoryID))

最后,向导要求我们为新的 TableAdapter方法命名,我们取为UpdateWithPicture,再点Finish。

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

图2:为新方法命名为UpdateWithPicture

第2步:添加新的业务 逻辑方法

除了更新DAL外,我们需要更新BLL以包含更新、删除类的方法。 以下是表现层需要调用的方法:

为了删除一个类,我们使用 CategoriesTableAdapter的自动生成的Delete方法,在类CategoriesBLL里添加如 下的方法:

[System.ComponentModel.DataObjectMethodAttribute
   (System.ComponentModel.DataObjectMethodType.Delete, true)]
public bool DeleteCategory(int categoryID)
{
  int rowsAffected = Adapter.Delete(categoryID);

  // Return true if precisely one row was deleted, otherwise false
  return rowsAffected == 1;
}

本教程,为了更新一个类,我们将创建2个方法。一个 方法接受picture值,并调用我们刚刚添加到CategoriesTableAdapter里的 UpdateWithPicture方法。另一个方法只接受CategoryName, Description和 BrochurePath值, 并调用CategoriesTableAdapter类里自动生成的Update语句。 为什么要使用2种方法呢?某些情况下,用户更新类时同时更新其图片,这时就需 要上传一张新图片。上传图片的数据将在UPDATE语句里用到;另一种情况,用户 只想更新类的name和description信息,因此我们需要使用2种更新方法。业务逻 辑层会根据是否传入picture值来判断使用哪种方法。

为达该目的,我们 要在CategoriesBLL类里添加2个方法,名字都是UpdateCategory,

第一个 方法接受的参数包括3个string,1个byte数组和1个int;第二个方法接受的参数 包括3个string和1个int。3个字符串参数代表类的name, description和brochure 文件路径,by

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号