ObjectDataSource的困惑!!!!!!
我有一个access数据库,其中有一张课程表,结构为
-----------------------------------------
ID (序号)
CourseName (课程名称)
数据库中已有约束,CourseName不能重复.生成强类型的gss_courseTableAdapter时,其中会有一默认的Delete方法,
gss_courseTableAdapter.Delete(int Original_CourseID),我想在逻辑类中重新封装一下该方法,gss_courseTableAdapter中添加了一个查询DeleteCoures:
DELETE FROM `gss_course` WHERE `CourseName` = ?
参数只传入CourseName就可,因为CourseName不重复.其逻辑类为:
public class Course
{
....略
public bool DeleteCourse(string CourseName)
{
bool flag = false;
GSS.gss_courseDataTable gd = this.CourseTableAdapter.IsUniqueCourse(CourseName);
if (gd.Count == 1)
{
//该课程存在
this.CourseTableAdapter.DeleteCoures(CourseName);
flag = true;
}
return flag;
}
....
}
绑定到时ObjectDataSource及GridView,运行显示数据,点删除一条记录时,出错:
ObjectDataSource“CourseObjectDataSource”未能找到带参数的非泛型方法“DeleteCoures”: CourseName, Original_CourseID。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: ObjectDataSource“CourseObjectDataSource”未能找到带参数的非泛型方法“DeleteCoures”: CourseName, Original_CourseID。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[InvalidOperationException: ObjectDataSource“CourseObjectDataSource”未能找到带参数的非泛型方法“DeleteCoures”: CourseName, Original_CourseID。]
System.Web.UI.WebControls.ObjectDataSourceView.GetResolvedMethodData(Type type, String methodName, IDictionary allParameters, DataSourceOperation operation) +1306298
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +1103
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +75
System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +927
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1155
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
System.Web.UI.Control.RaiseBubbleEvent(Object source,