关闭

WinForm中登录窗体的新点子

580人阅读 评论(0) 收藏 举报
分类:

前面我们大多都是采用SQl语句查询来执行检查用户ID和密码是否一一对应,来判断登录与否。;

现在咱们来一个新的方法,当然原理机制还是一样的。只不过采用新型的一点方法而已,没别的意思。

看具体代码案例:

using System;
using System.Collections.Generic;
using System.Text;
using DBAccess;
using System.Data;
using System.Data.Common;


namespace BLLevel
{
    public class UserLogin
    {
        public static LoginResult ValidatedLogin(string username,string password)
        {
            if (username.Trim() == "")
            {
                return LoginResult.NoUser;
            }
            if (password.Trim() == "")
            {
                return LoginResult.NoPassword;
            }

            DataTable table = new DataTable();
            StringBuilder sqlText = new StringBuilder();
            sqlText.Append("select * from BSC_AccountShade where username=@username and password=@password");
            IList<DbParameter> parameters = new List<DbParameter>();
            parameters.Add(SqlHelper.Instance.CreateParameter("@username", username));
            parameters.Add(SqlHelper.Instance.CreateParameter("@password", password));

            try
            {
                table = SqlHelper.Instance.GetDataTable(sqlText.ToString(), parameters);
                if ((table == null) || (table.Rows.Count <= 0))
                {
                    return LoginResult.UserOrPasswordError;
                }
                LoginInfo.UserName = table.Rows[0]["username"].ToString();
                LoginInfo.Password = table.Rows[0]["password"].ToString();
                LoginInfo.UserGroup = table.Rows[0]["AuthorityGroup"].ToString();
                
            }
            catch (Exception ex)
            {
                
                throw new Exception(ex.Message);
            }
            return LoginResult.Success;
        }

        public enum LoginResult
        {
            NoUser=1,
            NoPassword=2,
            UserError=3,
            Password=4,
            Success=5,
            NoDept=6,
            IsLock=7,
            IsOverDate=8,
            UserOrPasswordError=9
        }
    }
}

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

public  DataTable GetDataTable(string commandstring, CommandType type, IList<DbParameter> parameters)
        {
            DataTable table = new DataTable();
            try
            {
                this.Open();
                DbCommand command = this.GetDbCommand();
                PrepareCommand(command, commandstring, type, parameters, null);
                DbDataAdapter adapter = this.GetDbDataAdapter(command);
                adapter.Fill(table);
            }
            catch (Exception ex)
            {


                throw new Exception(DBMsg.DataBaseOperaterError + ex.Message);
            }
            finally
            {
                this.Close();
            }
            return table;
        }

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>登录操作

private void btnOK_Click(object sender, EventArgs e)
        {
            bool isSuccess = false;
            switch(UserLogin.ValidatedLogin(this.textBox_UserName.Text,this.textBox_Password.Text))
            {
                case UserLogin.LoginResult.NoUser:
                    MessageBox.Show("User Login Name Is Space .");
                    this.textBox_UserName.Focus();
                    this.textBox_UserName.SelectAll();
                    break;
                case UserLogin.LoginResult.NoPassword:
                    MessageBox.Show("User Login Password Is Space .");
                    this.textBox_Password.Focus();
                    this.textBox_Password.SelectAll();
                    break;
                case UserLogin.LoginResult.UserOrPasswordError:
                    MessageBox.Show("User Name or Password is Error .");
                    this.textBox_UserName.Text="";
                    this.textBox_Password.Text="";
                    this.textBox_UserName.Focus();
                    this.textBox_UserName.SelectAll();
                    break;
                case UserLogin.LoginResult.Success:
                    isSuccess = true;
                    break;
            }
            if (isSuccess)
            {
                this.DialogResult = DialogResult.OK;
            }
        }


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:231178次
    • 积分:4577
    • 等级:
    • 排名:第6667名
    • 原创:210篇
    • 转载:121篇
    • 译文:1篇
    • 评论:11条
    最新评论