visual studio 2017 c# สร้างหน้า Login

ต่อจาก บทความที่แล้ว เราจะมาสร้างหน้า Login สำหรับเข้าใช้โปรแกรม

สร้าง CLASS สำหรับ CONNECT DATABASE

add new form

Name ใส่ชื่อ frmLogin

properties :

StartPosition : เลือก CenterScreen

Text : เข้าสู่ระบบ

MaximizeBox : False

MinimumBox : False

เพิ่ม control

1 . lblUserName : text = User Name

2 . lblPassword : text = Password

3 . txt_UserName

4. txt_Password

Properties : UseSystemPasswordChar = True

5. btnOk : text = เข้าสู่ระบบ

6.btnCancel : text = ยกเลิก

ตารางฐานข้อมูล และ Stored Procedures

ตารางฐานข้อมูล

tbl_Login

Store Procedures : Login_Select

*******************************

USE [POSDatabase] GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Login_Select] (
@UserName nvarchar(20)
)
AS
SET NOCOUNT ON;
SELECT top 1  * FROM tbl_Login where UserName = @UserName

*************************************

สร้าง Folder Classes

สร้าง Folder Info และ Folder Sp ภายใต้ Folder Classes

สร้าง ไฟล์ Login_Info.cs ภายใต้ Folder Classes–>Info

*********************************

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace POS.Classes.Info
{
class Login_Info
{
private string _UserName;
private string _UserPassword;
private string _UserStatus;
public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
public string UserPassword
{
get { return _UserPassword; }
set { _UserPassword = value; }
}

public string UserStatus
{
get { return _UserStatus; }
set { _UserStatus = value; }
}
}
}

สร้าง ไฟล์ Login_Sp.cs ภายใต้ Folder Classes–>Sp

Source Code –>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using POS.General;
using POS.Classes.Info;
using System.Windows.Forms;

namespace POS.Classes.Sp
{
class Login_Sp : DBConnection
{
public Login_Info Login_Select(string UserName)
{
Login_Info infoLogin = new Login_Info();
SqlDataReader sdrreader = null;
try
{

if (sqlcon.State == ConnectionState.Closed)
{
sqlcon.Open();
}
SqlCommand sccmd = new SqlCommand(“Login_Select”, sqlcon);
sccmd.CommandType = CommandType.StoredProcedure;
SqlParameter sprmparam = new SqlParameter();
sprmparam = sccmd.Parameters.Add(“@UserName”, SqlDbType.NVarChar);
sprmparam.Value = UserName;
sdrreader = sccmd.ExecuteReader();
while (sdrreader.Read())
{
infoLogin.UserName = sdrreader[“UserName”].ToString();
infoLogin.UserPassword = sdrreader[“UserPassword”].ToString();
infoLogin.UserStatus = sdrreader[“UserStatus”].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
sdrreader.Close();
sqlcon.Close();
}
return infoLogin;
}
}
}

**************************

 

source code หน้า frmLogin.cs

**************************

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using POS.General;
using POS.Classes.Info;
using POS.Classes.Sp;

namespace POS
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}

private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}

private void btnOk_Click(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(txt_UserName.Text.ToString()) )
{
MessageBox.Show(“กรุณาระบุ User name”);
txt_UserName.Focus();
return;
}
if (String.IsNullOrEmpty(txt_Password.Text.ToString()))
{
MessageBox.Show(“กรุณาระบุ รหัสผ่าน”);
txt_Password.Focus();
return;
}
Login();
}

private void frmLogin_Load(object sender, EventArgs e)
{

}
public void ClearCtrl()
{
txt_UserName.Text = string.Empty;
txt_Password.Text = string.Empty;
}
public void Login()
{
try
{
Login_Info infoLogin = new Login_Info();
Login_Sp spLogin = new Login_Sp();
infoLogin = spLogin.Login_Select(Convert.ToString(txt_UserName.Text.ToString()));
if (txt_Password.Text.ToString() == infoLogin.UserPassword.ToString())
{
if (infoLogin.UserStatus.ToString() != “1”)
{
MessageBox.Show(“LOGIN :” + “User Name ของท่านไม่สามารถใช้งานได้ กรุณาติดต่อผู้ดูแลระบบ”, “”, MessageBoxButtons.OK, MessageBoxIcon.Information);
ClearCtrl();
txt_UserName.Focus();
return;
}
frmMDI mdiFRM = new frmMDI();
mdiFRM.Show();
}
else
{
MessageBox.Show(“User Name หรือ Password ไม่ถูกต้อง”, “Smart POS”, MessageBoxButtons.OK, MessageBoxIcon.Information);
ClearCtrl();
txt_UserName.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show(“User Name หรือ Password ไม่ถูกต้อง” , “Smart POS”, MessageBoxButtons.OK, MessageBoxIcon.Information);
ClearCtrl();
txt_UserName.Focus();
}
}

private void txt_UserName_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Enter)
{
txt_Password.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, “Smart POS”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

private void txt_Password_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Enter)
{
btnOk.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, “Smart POS”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}

**************************

Add a Comment

Your email address will not be published. Required fields are marked *