##前言
在注册窗体中,遇到了这样问题。
##解决方案
一、只要继承了接口,就必须全部全写interface中的成员函数
例如interface中有两个
namespace IDAL
{
public interface RegisterIDAL
{
DataTable selectStudent(Entity.Student_Info studentinfo);
DataTable selectCardNo(Entity.Card_Info cardinfo);
}
}
继承接口的类中必须写两个:学生表和卡表
public DataTable selectStudent(Entity.Student_Info studentinfo)//查找学生表
{
DAL.LoginSQLHelper sqlhelper = new DAL.LoginSQLHelper();//实例化helper层
//DAL.RegisterDAL sqlhelper = new DAL.RegisterDAL();
SqlParameter[] sqlParams = { new SqlParameter("@stuNo", studentinfo.stuNo) };//new SqlParameter("@stuName", studentinfo.stuName); }//传参
string sql = "SELECT *FROM [Student_Info] WHERE stuNo = @stuNo ";//查询语句
DataTable table = sqlhelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
return table;
}
/// <summary>
/// 查找卡表
/// </summary>
/// <param name="cardinfo"></param>
/// <returns></returns>
public DataTable selectCardNo(Entity.Card_Info cardinfo)//查找卡表
{
DAL.LoginSQLHelper sqlhelper = new DAL.LoginSQLHelper();//实例化helper层
SqlParameter[] sqlParams = { new SqlParameter("@CardNo", cardinfo.CardNo) };
string sql = "SELECT *FROM[Card_Info] WHERE CardNo = @CardNo ";//查询语句
DataTable table = sqlhelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
return table;
}
二、在 报错的那句话上面点右键,选择实现接口。
三、还有就是代码里边缺少public
四、我的代码出现这个问题是因为,D层跟接口层不一致,接口层写的是DataTable selectCardNO,而D层写的是DataTable selectCard,就少了几个字母,继承接口层就要跟接口层一直。

博客围绕注册窗体遇到的问题给出解决方案。指出继承接口需全部实现成员函数,如interface有两个成员,继承类中也要实现;可在报错处右键选择实现接口;代码可能缺少public;还强调D层与接口层代码要一致,否则会出问题。
7127

被折叠的 条评论
为什么被折叠?



