本人折腾了 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方法是因为我没有设置主键!谨记!