查看文章 |
未能找到带参数的非泛型方法
2007-11-06 11:26
痛苦了一天,终于解决了,虽然还是不太清楚深层次的东西.但是解决这个问题倒是小有心得了. 出现这个问题大多是在使用ObjectDataSource的时候.这时的数据读取,删除,编辑,添加等都是使用的你在BLL中抽象出来的方法.举个例子,一个表有4列属性,select以后会在detailview中产生4行内容,其中有一行是不用更新的,于是你在方法中没有设定这个参数.如果你要对这条选定的数据进行更新,那么ObjectDataSource默认是有4个属性的,但是你的方法确只有3个.这时就会出现"未能找到带参数的非泛型方法".其实你好好看看报错的内容就知道,肯定是默认的参数个数多出了你定义的个数.要解决其实也简单.一是直接删除ObjectDataSource中自动生成的那些Update参数.二是在你的方法中定义跟你显示的数据一样多的参数.大不了设定了不用吗呵呵. 至于其他人说得你的属性名跟数据库中的参数名不同导致这种问题,我倒是没遇到过.我写数据库时还是很小心的,事先已经想好了列名.所以应该不会出现这种问题.呵呵 写的有点儿乱,希望对大家有帮助 |