using System;
using System.Collections.Generic;
using System.Text;
using System.String;
using System.Data;
using System.Data.OracleClient;
using Ray.Database;
using Ray.Encrypt;
namespace Raysoft.Framework.Accounts
{
public class AccountsHelper
{
public AccountsHelper()
{}
/// <summary>
/// 用户登录
/// </summary>
/// <param name="UserName">用户名</param>
/// <param name="Pwd">密码</param>
/// <returns>是否成功</returns>
public bool Login(string UserName,string Pwd)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT Count(1) From Accounts Where FUserName = :UserName And FPassword = :Password");
OracleParameter[] parameters = {
new OracleParameter(":UserName", OracleType.Char,20),
new OracleParameter(":Password",OracleType.Char,32)};
parameters[0].Value = UserName;
parameters[1].Value = EncryptHelper.EnMd5(Pwd);
object obj = OracleHelper.ExecuteScalar(strSql.ToString(), parameters);
return int.Parse(obj) > 0 ? true : false;
}
/// <summary>
/// 用户修改密码
/// </summary>
/// <param name="UserName">用户名称</param>
/// <param name="OldPwd">原密码</param>
/// <param name="NewPwd">新密码</param>
/// <returns>是否成功</returns>
public bool ChangePwd(string UserName, string OldPwd, string NewPwd)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("UPDATE Accounts SET FPassword =:NewPwd WHERE FPassword=:OldPwd");
OracleParameter[] parameters = {
new OracleParameter(":NewPwd",OracleType.Char ,32),
new OracleParameter(":OldPwd",OracleType.Char ,32)};
parameters[0].Value = EncryptHelper.EnMd5(NewPwd);
parameters[1].Value = EncryptHelper.EnMd5(OldPwd);
int ret =SqlHelper.ExecuteNonQuery(strSql ,parameters);
return ret > 0 ? true : false;
}
/// <summary>
/// 更新用户状态
/// </summary>
/// <param name="UserId">用户编号</param>
/// <returns>是否成功</returns>
public bool UpdateState(int UserId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("UPDATE Accounts SET FTimes = FTimes - 1, FLastUpdate = :LastUpdate WHERE FUserId=:UserId");
OracleParameter[] parameters = {
new OracleParameter(":UserId",OracleType.Int32 ,10),
new OracleParameter(":LastUpdate",OracleType.DateTime)};
parameters[0].Value = UserId;
parameters[1].Value = Now();
int ret = SqlHelper.ExecuteNonQuery(strSql, parameters);
return ret > 0 ? true : false;
}
}
}Raysoft.Framework.Accounts.AccountsHelper
最新推荐文章于 2021-05-31 05:42:30 发布
本文介绍了一个用户管理系统中实现登录验证、密码修改及用户状态更新的功能,并使用了Oracle数据库进行数据交互。文中提供了具体的代码实现,包括参数设置、SQL语句构造及执行结果判断等。

1970

被折叠的 条评论
为什么被折叠?



