其实也就是3层,不用分的那么细,三层分别是表现层,业务逻辑层和数据访问层,一般来说的命名就是Model(表现层),BLL(业务逻辑层)和DAL(数据访问层)
一般来说Model是用来获取一个表中的数据,下面是一个Model类的一般写法,你可以看看
/// <summary>
/// 实体类LoginDetail
/// </summary>
public class LoginDetail
{
public LoginDetail()
{ }
#region Model
private string _memid;
private DateTime _logintime;
private DateTime _logouttime;
/// <summary>
/// 会员id
/// </summary>
public string MemID
{
set { _memid = value; }
get { return _memid; }
}
/// <summary>
/// 登录时间
/// </summary>
public DateTime LoginTime
{
set { _logintime = value; }
get { return _logintime; }
}
/// <summary>
/// 退出登录时间
/// </summary>
public DateTime LogoutTime
{
set { _logouttime = value; }
get { return _logouttime; }
}
#endregion Model
而BLL就是来调用DAL里面的类的,而且在Model和BLL都不能出现SQL语句的!!!!这个一定要注意,下面是个BLL的代码,给你看的这三个是同一个表的。
///这个就是声明DAL方法,这样才能引用DAL里面的类
private DAL.LoginDetail dal = new DAL.LoginDetail();
public LoginDetail()
{ }
#region 成员方法
/// <summary>
/// 得到最大ID
/// </summary>
public int GetMaxId()
{
return dal.GetMaxId();
}
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string MemID)
{
return dal.Exists(MemID);
}
/// <summary>
/// 增加一条数据
/// </summary>
public string Add(KingsTech.Model.LoginDetail model)
{
return dal.Add(model);
}
/// <summary>
/// 更新一条数据
/// </summary>
public void Update(KingsTech.Model.LoginDetail model)
{
dal.Update(model);
}
/// <summary>
/// 删除一条数据
/// </summary>
public void Delete(string MemID)
{
dal.Delete(MemID);
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public KingsTech.Model.LoginDetail GetModel(string MemID)
{
return dal.GetModel(MemID);
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
return dal.GetList(strWhere);
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetAllList()
{
return dal.GetList("");
}
/// <summary>
/// 获得数据列表
/// </summary>
//public DataSet GetList(int PageSize,int PageIndex,string strWhere)
//{
//return dal.GetList(PageSize,PageIndex,strWhere);
//}
#endregion 成员方法
你可以发现BLL中的东西就是一个方法加里面的一个retunrn,其实BLL很简单
而DAL里面就是写SQL语句的并且直接操作数据库了,代码如下
public LoginDetail()
{ }
#region 成员方法
/// <summary>
/// 得到最大ID
/// </summary>
public int GetMaxId()
{
return DbHelperSQL.GetMaxID("MemID", "LoginDetail");
}
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string MemID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from LoginDetail");
strSql.Append(" where MemID= @MemID");
SqlParameter[] parameters = {
new SqlParameter("@MemID", SqlDbType.VarChar)
};
parameters[0].Value = MemID;
return DbHelperSQL.Exists(strSql.ToString(), parameters);
}
/// <summary>
/// 增加一条数据
/// </summary>
public string Add(KingsTech.Model.LoginDetail model)
{
//model.MemID=GetMaxId();
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into LoginDetail(");
strSql.Append("MemID,LoginTime,LogoutTime)");
strSql.Append(" values (");
strSql.Append("@MemID,@LoginTime,@LogoutTime)");
SqlParameter[] parameters = {
new SqlParameter("@MemID", SqlDbType.NVarChar),
new SqlParameter("@LoginTime", SqlDbType.SmallDateTime),
new SqlParameter("@LogoutTime", SqlDbType.SmallDateTime)};
parameters[0].Value = model.MemID;
parameters[1].Value = model.LoginTime;
parameters[2].Value = model.LogoutTime;
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
return model.MemID;
}
/// <summary>
/// 更新一条数据
/// </summary>
public void Update(KingsTech.Model.LoginDetail model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update LoginDetail set ");
strSql.Append("LoginTime=@LoginTime,");
strSql.Append("LogoutTime=@LogoutTime");
strSql.Append(" where MemID=@MemID");
SqlParameter[] parameters = {
new SqlParameter("@MemID", SqlDbType.NVarChar),
new SqlParameter("@LoginTime", SqlDbType.SmallDateTime),
new SqlParameter("@LogoutTime", SqlDbType.SmallDateTime)};
parameters[0].Value = model.MemID;
parameters[1].Value = model.LoginTime;
parameters[2].Value = model.LogoutTime;
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 删除一条数据
/// </summary>
public void Delete(string MemID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete LoginDetail ");
strSql.Append(" where MemID=@MemID");
SqlParameter[] parameters = {
new SqlParameter("@MemID", SqlDbType.VarChar)
};
parameters[0].Value = MemID;
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public KingsTech.Model.LoginDetail GetModel(string MemID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from LoginDetail ");
strSql.Append(" where MemID=@MemID");
SqlParameter[] parameters = {
new SqlParameter("@MemID", SqlDbType.VarChar)};
parameters[0].Value = MemID;
KingsTech.Model.LoginDetail model = new KingsTech.Model.LoginDetail();
DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
model.MemID = MemID;
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0]["LoginTime"].ToString() != "")
{
model.LoginTime = DateTime.Parse(ds.Tables[0].Rows[0]["LoginTime"].ToString());
}
if (ds.Tables[0].Rows[0]["LogoutTime"].ToString() != "")
{
model.LogoutTime = DateTime.Parse(ds.Tables[0].Rows[0]["LogoutTime"].ToString());
}
return model;
}
else
{
return null;
}
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select [MemID],[LoginTime],[LogoutTime] ");
strSql.Append(" FROM LoginDetail ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
/*
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetList(int PageSize,int PageIndex,string strWhere)
{
SqlParameter[] parameters = {
new SqlParameter("@tblName", SqlDbType.VarChar, 255),
new SqlParameter("@fldName", SqlDbType.VarChar, 255),
new SqlParameter("@PageSize", SqlDbType.Int),
new SqlParameter("@PageIndex", SqlDbType.Int),
new SqlParameter("@IsReCount", SqlDbType.Bit),
new SqlParameter("@OrderType", SqlDbType.Bit),
new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
};
parameters[0].Value = "LoginDetail";
parameters[1].Value = "MemID";
parameters[2].Value = PageSize;
parameters[3].Value = PageIndex;
parameters[4].Value = 0;
parameters[5].Value = 0;
parameters[6].Value = strWhere;
return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
}*/
#endregion 成员方法
这样你就会发现,其实DAL里面有多少个方法,BLL里面就会有多少个return,
这样在用户用的时候,只需要调用BLL里面的方法就可以间接调用DAL里面的方法来,好处很多,这就不写了。再者给你说说Model的用法,其实更简单,就是你在添加或是删除的时候,不用再写长长的SQL语句来,举个例子
Model.id=111
Model.Name="张三"
。。。。。
大体上就是这个样子,给Model赋值,然后添加的时候直接调用BLL里面的Add事件就可以了
例子:
BLL bll=new BLL();
bll.Add(Model);
这样就完成了添加。
大体上就是这个样子了,自己摸索一下就能找到规律了,希望对你有帮助
温馨提示:答案为网友推荐,仅供参考