⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userblc.cs

📁 一个好的系统 对初学者很有用啊 来看看啊
💻 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 + -