WinForm中登录窗体的新点子

原创 2013年12月03日 11:35:24

前面我们大多都是采用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;
            }
        }


版权声明:本文为博主原创文章,未经博主允许不得转载。

C# Winform中实现主窗口打开登录窗口关闭的方法

原文转载至:http://www.jb51.net/article/53593.htm 在使用C#进行Winform编程时,我们经常需要使用一个登录框来进行登录,一旦输入...
  • nieweiking
  • nieweiking
  • 2016年04月25日 21:36
  • 2244

C# 使用三层架构实例演示-winForm 窗体登录功能

数据库: 名称:threeLayer 表:
  • qq649792393
  • qq649792393
  • 2014年11月24日 19:32
  • 4353

C# Winform程序 使用登录窗体到主窗体 且传登录信息

C# Winform程序 使用登录窗体到主窗体 且传登录信息     看到很多朋友在CSDN中发帖放分求“如何实现登录验证正确后弹出主窗体”的问题。关于这个问题的实现方法,一...
  • kasama1953
  • kasama1953
  • 2016年07月30日 00:53
  • 3131

c#打开新窗体后关闭旧窗体

很多做winform的朋友在做登陆界面的时候总会遇到这个问题: 当用户输入正确,登陆的时候,new出一个想显示的窗口,然后show这个新窗口对象,在将当前窗体this,close掉 这一切看起来貌...
  • zhongheijituan
  • zhongheijituan
  • 2013年06月28日 01:45
  • 1500

C#之WinForm基础 添加多个窗体

慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 感恩曾经帮助过 心少朴 的人。 ...
  • yushaopu
  • yushaopu
  • 2016年09月17日 08:56
  • 1170

C#Form打开一个新窗口的同时关闭这个窗体

在第一个窗口中,名为fristForm,这个窗口有一个按钮,button1.第二个窗口为secondForm.         button1对应的代码为:       Private void ...
  • lkymmd
  • lkymmd
  • 2014年10月15日 19:58
  • 2293

C#中关闭第一个Form窗口,打开另一个新窗口方法

很多同学问怎么关闭一个FORM打开另一个新Form。这个问题最多的是在做登录验证时,使用第一个登录窗 登录成功后要关闭自己,然后打开新窗显示。没想到这个问题在.Net还成了问题,不过依然有很多方法解决...
  • scrystally
  • scrystally
  • 2014年08月19日 21:07
  • 9475

C# Tabcontrol组件怎么(切换)显示Form窗体

c# tabcontrol组件如何显示FORM 如题,即当点击menuStrip1组件或toolStrip1组件中的某一项时,不再跳出FORM而全部显示到tabcontrol中,显示的Tabpage...
  • wsx1887
  • wsx1887
  • 2014年05月30日 21:33
  • 2283

Winform布局美化样例

做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计...
  • hezepeng1996
  • hezepeng1996
  • 2017年02月28日 11:49
  • 338

C# Winform 窗体美化(四、镂空窗体)

四、镂空窗体例子下载直接贴效果图吧:1、控件的透明 2、窗体的透明 代码如下:public partial class Form1 : Form { public Form1() ...
  • myinc
  • myinc
  • 2017年04月15日 10:40
  • 2102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WinForm中登录窗体的新点子
举报原因:
原因补充:

(最多只允许输入30个字)