----------------
设计到很简单的几个功能,用户注册,修改密码,借书,还书,添加书籍,修改书籍,删除书籍,查找书籍
以及对用户的管理即管理员可以对非管理员进行增删改操作.
首先分析下框架
典型的三层架构:每个实体对应一个类 此处涉及到了books,borrow,users类.
此后就是数据库操作类database了.所有的数据库相关操做都在这个类里封装了.
下面具体讲解下
users类.
public class Users
{
#region 私有成员
private string _userID; //用户编号
#endregion 私有成员
#region 属性
public string UserID
{
set
{
this._userID = value;
}
get
{
return this._userID;
}
}
该类中会有如上的成员和属性,对应的都是数据库中表的字段.还包含了对user类的业务操作判断用户存在性等等
//根据UserID和UserPassword判断密码是否正确
//输入:
// XUserID - 用户编号;
//输出:
// 用户存在:返回True;
// 用户不在:返回False;
public bool CheckPassword(string XUserID)
{
SqlParameter[] Params = new SqlParameter[1];
DataBase DB = new DataBase();
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, XUserID); //教工姓名
SqlDataReader DR = DB.RunProcGetReader("Proc_UsersDetail", Params);
if (!DR.Read())
{
return false;
}
else
{
this._userPassword = DR["UserPassword"].ToString();
this._userPower = int.Parse(DR["UserPower"].ToString());
return true;
}
}
//向Users表中添加用户信息(采用存储过程)
//输出:
// 插入成功:返回True;
// 插入失败:返回False;
public bool InsertByProc()
{
SqlParameter[] Params = new SqlParameter[8];
DataBase DB = new DataBase();
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, UserID); //用户编号
Params[1] = DB.MakeInParam("@UserPassword", SqlDbType.VarChar,50, UserPassword); //用户密码
Params[2] = DB.MakeInParam("@UserPower", SqlDbType.SmallInt, 2, UserPower); //用户权限
Params[3] = DB.MakeInParam("@UserName", SqlDbType.VarChar, 50, UserName); //用户姓名
Params[4] = DB.MakeInParam("@UserSex", SqlDbType.Bit,1, UserSex); //用户性别
Params[5] = DB.MakeInParam("@UserDepart", SqlDbType.VarChar,50, UserDepart); //用户系院
Params[6] = DB.MakeInParam("@UserTelephone", SqlDbType.VarChar, 50, UserTelephone); //用户电话
Params[7] = DB.MakeInParam("@UserEMail", SqlDbType.VarChar, 50, UserEMail); //用户EMail
int Count = -1;
Count = DB.RunProc("Proc_UsersAdd", Params);
if (Count > 0)
return true;
else return false;
}
//更新用户的信息
public bool UpdateByProc(string XUserID)
{
SqlParameter[] Params = new SqlParameter[6];
DataBase DB = new DataBase();//Dababa