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