VS2010中解决数据集和ObjectDataSource无法自动生成UPDATA和DELETE方法

本人折腾了 1个小时,在网上也没有关于ObjectDataSource控件这方便的bug文章,自己记录下,方便后人,方便自己!

问题清楚:建立一个测试数据库,并放入数据集中,

会自动生成 SELECT 和 DELETE方法!而无UPDATE和DELETE方法,所以在绑定ObjectDataSource时,无法绑定这2个方法!


从而绑定的LISTVIEW等控件,无法使用自动生成的编辑和删除功能!

解决方法:自己写UPDATE和DELETE方法,在绑定到数据集中,生成解决方案,重新绑定ObjectDataSource等即可实现了更新和删除!

更新UPDATE:

UPDATE T_Test
SET         Name = @Name, Age = @Age
WHERE   (Id = @Id)

删除DELETE:

DELETE FROM T_Test
WHERE   (Id = @Id)

设置你的 LISTVIEW 的属性: DataKeyNames="Id"

如果出现了黄页提示:

ObjectDataSource“ObjectDataSource1”未能找到带参数的非泛型方法“UpdateQuery”: Name, Age, Id, original_Id。

之类的错误,你可以手动测试下数据集填写的SQL命令是否有用,在把
ObjectDataSource中的OldValuesParameterFormatString="original_{0}" 属性给删了!


今天猛然的发现 原来不生成update和delete方法是因为我没有设置主键!谨记!

posted @ 2010-11-02 20:52  BuildNewApp  阅读(1017)  评论(0编辑  收藏  举报