返回“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.
图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。
图2:为新方法命名为UpdateWithPicture