?? 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 + -