C#開發程式登入介面使用者名稱和密碼的驗證
今天呢!小編比較閒!回想一下自己開發過的程式!然後呢!為了便於加深記憶!小編便自己又寫了一遍進銷存程式!好吧廢話不多說!進入主題啦!
這個關於Models部分我就不用講了吧!學C#的應該都懂的!...略過...
DAL部分
public class UsersService
{
/// <summary>
/// 判斷使用者名稱和密碼
/// </summary>
/// <param name="txtName"></param>
/// <param name="txtPassword"></param>
/// <returns></returns>
public static string IsLogin(string txtName,string txtPassword)
{
string str = null;
using (SqlConnection sc = new SqlConnection(CONN.GetConnectionString()))
{
using (SqlCommand scmd = new SqlCommand(" Select UserID,UserName,PasswordCode,IsUse From Users Where IsUse = 1 ",sc))
{
//開啟資料管道
sc.Open();
using (SqlDataReader sdr = scmd.ExecuteReader())
{
while (sdr.Read())
{
//判斷使用者名稱是否正確正確的話!判斷密碼!否則的話返回一個字串NAMEERROR
if (txtName == sdr["UserName"].ToString())
{
//如果使用者名稱正確則判斷密碼是否正確 正確的話返回OK 否則返回PASSWORDERROR
if (txtPassword == sdr["PasswordCode"].ToString())
{
str = "OK";
}
else
{
str = "PASSWORDERROR";
}
}
else
{
str = "NAMEERROR";
}
}
}
}
}
return str;
}
}
UI部分
public partial class FormLogin : Form
{
public FormLogin()
{
InitializeComponent();
}
/// <summary>
/// 登入按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//接受返回的字串
string txt = BLL.IsLoginManager.IsLogin(this.txtbName.Text, this.txtbPassword.Text);
//好的!開始判斷
switch (txt)
{
case "NAMEERROR":
MessageBox.Show("使用者名稱錯誤!請認真填寫使用者名稱...");
break;
case "PASSWORDERROR":
MessageBox.Show("密碼錯誤!請認真填寫密碼...");
break;
case "OK":
MessageBox.Show("登入成功!");
this.DialogResult = DialogResult.OK;
break;
}
}
/// <summary>
/// 取消按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}