📄 userblc.cs
字号:
using System;
using System.Collections;
using System.Data;
using System.Windows.Forms;
using ExamCenter.ADLCTier;
using ExamCenter.FormTier;
namespace ExamCenter.BLCTier
{
/// <summary>
/// User 的摘要说明。
/// </summary>
public class UserBLC : BaseADLC
{
private const string SQL_SELECT_ALL_USER = "SELECT userID,usercname,userename,password FROM Users";
private string SQL_SELECT_ROLE_BY_ID = "SELECT * FROM allocaterole WHERE userID =";
private string SQL_SELECT_USER_BY_ID = "SELECT * FROM Users WHERE userID =";
public UserBLC()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public DataSet GetUserById(int intUserId)
{
//方法:public DataSet GetUserById(int intUserId)
//参数:用户id
//功能:根据用户id以数据集的形式返回用户表中用户信息
//返回:若用户存在,返回数据集
// 否则,返回null
//SQL_SELECT_USER_BY_ID为查询语句
SQL_SELECT_USER_BY_ID = SQL_SELECT_USER_BY_ID + intUserId.ToString();
//执行查询命令,返回数据集
return UserBLC.ExecuteSqlReturnDs(SQL_SELECT_USER_BY_ID);
}
public DataSet GetAllUser()
{
//方法:public DataSet GetAllUser()
//功能:返回用户表
//返回:数据集
//执行查询语句SQL_SELECT_ALL_USERS,返回数据集
return UserBLC.ExecuteSqlReturnDs(SQL_SELECT_ALL_USER);
}
public void UpdateUser(DataSet dsUser)
{
//方法:public void UpdateUser(DataSet user)
//功能:更新用户表
//返回:void
//更新用户表dsUser
UserBLC.UpdateDataSource(dsUser,SQL_SELECT_ALL_USER);
}
public DataSet GetAllRoleForUser(int intUserId)
{
//方法 :public void GetAllUseCaseForRole(string strRoleId)
//参数 :strRoleId为角色ID
//功能 :为此角色返回用例集
//返回值:数据集
SQL_SELECT_ROLE_BY_ID = SQL_SELECT_ROLE_BY_ID + intUserId.ToString();
return UserBLC.ExecuteSqlReturnDs(SQL_SELECT_ROLE_BY_ID);
}
public void UpdateRoleForUser(DataSet dsRoleForUser,int intUserId)
{
//方法 :public void UpdateUseCase(DataSet dsUseCase)
//参数 :dsUseCase为要更改的数据集
//功能 :更改数据源
//返回值:空
SQL_SELECT_ROLE_BY_ID = SQL_SELECT_ROLE_BY_ID + intUserId.ToString();
UserBLC.UpdateDataSource(dsRoleForUser,SQL_SELECT_ROLE_BY_ID);
}
public string EncryptPassword(string strSource,string strKey)
{
return strSource;
}
public string EncryptPassword(string strSource)
{
return strSource;
}
public IList FindRoleIdsByUserId(int intUserID)
{
// 方法 :public IList FindRoleIdsByUserId(int intUserID)
// 参数 :intUserID是用户的ID
// 功能 :通过用户的ID查找到用户的角色ID
// 返回值:IList(含有用户的所有角色ID)
IList ilistRoleID = new ArrayList();
string sqlSelectCommand="SELECT * FROM allocaterole WHERE userID="+intUserID.ToString ();
DataSet dsRole=UserBLC.ExecuteSqlReturnDs(sqlSelectCommand);
foreach (DataRow dr in dsRole.Tables [0].Rows )
{
ilistRoleID.Add (dr["roleID"]);
}
return ilistRoleID;
}
public bool VerifyPassword(string strUserEnName,string strPassword)
{
// 方法 :public bool VerifyPassword(string strUserEnName,string strPassword)
// 参数 :strUserEnName是用户的英文名字,strPassword是用户登录时输入的密码
// 功能 :验证用户密码
// 返回值:布尔值。成功返回true,否则返回false
try
{
//
//设置查询SQL语句,sqlSelectCommand是查询命令
string sqlSelectCommand="SELECT * FROM Users WHERE userename='";
sqlSelectCommand+=strUserEnName;
sqlSelectCommand+="'";
//
//查询语句返回数据集
System.Data .DataSet dsUser=UserBLC.ExecuteSqlReturnDs(sqlSelectCommand);
//
//如果有这个用户的信息,就比较密码是否一致,否则就返回false
if(dsUser .Tables [0].Rows .Count !=0)
{
//读取数据集的数据表Table的第一行的密码列
string tempPassword= dsUser .Tables [0].Rows[0]["password"].ToString ();
strPassword=this.EncryptPassword(strPassword);
if (strPassword.Equals (tempPassword))
{
FrmLoad.IntUserID=Convert.ToInt16 (dsUser.Tables [0].Rows [0]["userID"]);
return true;
}
}
return false;
}
catch(System.Exception ex)
{
MessageBox.Show (ex.Message .ToString (), "异常");
return false;
}
}
public bool AlterPassword(string strUserEnName,string strNewPassword)
{
// 方法 :public bool AlterPassword(string strUserEnName,string strNewPassword)
// 参数 :strUserEnName是用户的英文名字,strNewPassword是用户的新密码
// 功能 :修改户密码
// 返回值:布尔值。成功返回true,否则返回false
try
{
//因为在修改密码之前要先验证当前密码,所以一定可以找到数据
//更新数据源
string sqlUpdateCommand=@"UPDATE Users SET password ='";
sqlUpdateCommand+=this.EncryptPassword(strNewPassword);
sqlUpdateCommand+="'";
sqlUpdateCommand+="WHERE userename='";
sqlUpdateCommand+=strUserEnName;
sqlUpdateCommand+="'";
//sqlUpdateCommand最终是“UPDATE Users SET password =@strNewPassword WHERE userename=@strUserEnName”
UserBLC.ExecuteSql (sqlUpdateCommand);
return true;
}
catch (System.Exception ex)
{
MessageBox.Show (ex.Message );
return false;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -