BLOG ĐANG TRONG THỜI GIAN PHÁT TRIỂN, MONG SỰ QUAN TÂM CỦA MỌI NGƯỜI DÀNH CHO BLOG MỚI NÀY CỦA HUNG.PRO.VN

[Visual Basic] Login Form With MySQL In Visual Studio

[Visual Basic] Login Form With MySQL In Visual Studio
Xin chào mọi người bài viết này mình sẽ hướng dẫn mọi người viết chương trình đăng nhập phân cấp theo từng cấp "Quản trị chương trình", "Người dùng", "Người giám sát",...v.v

Trong bài viết này tôi sẽ thảo luận về cách tạo biểu mẫu đăng nhập trong Visual Studio 2010. Hầu như tất cả các ứng dụng đều có Biểu mẫu đăng nhập, vì Biểu mẫu đăng nhập đóng vai trò là trình phát hiện quyền của người dùng sẽ nhập vào hệ thống. Hầu hết các ứng dụng trên toàn thế giới đều sử dụng quy trình đăng nhập trước tiên khi người dùng muốn nhập tài khoản của họ khi họ đã đăng ký như Facebook, Twitter, Instagram , v.v.

Được rồi, trước tiên hãy mở Visual Studio và tạo một dự án mới, sau đó bạn cần thiết lập cơ sở dữ liệu và bảng để kết nối với dự án của mình. Đọc bài viết trước về cách kết nối cơ sở dữ liệu MySQL với Visual Studio.

Và ở đây tôi có một bảng có tên là users và có ba trường trong đó. user, passstatus. Status ở đây tôi phân loại thành ba trường là Leader, CashierWarehouse Employee có quyền truy cập tương ứng.
Tiếp theo, mở Form1 (Login Form) sau đó thêm một số thành phần cần thiết như hình bên dưới.

Khi hoàn tất, hãy thêm một Form nữa làm Menu chính, Form này sẽ xuất hiện nếu quá trình đăng nhập thành công.

Các thành phần trong Form2:
  • Menu Dải
  • Trạng thái Dải
Thực hiện cấu hình trên StatusStrip, chúng ta chỉ cần hai panel sẽ hiển thị tên người dùng và trạng thái người dùng như hình dưới đây


Khi hoàn tất, hãy mở lại Form1 và nhập thư viện ODBC sau

Imports System.Data.Odbc
Public Class Form1
End Class

Sau đó, nhấp đúp vào Form1 và nhập mã sau vào Form1_Load

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
        
        Call koneksinya()
        cmd = New OdbcCommand("select * from users", conn)
        dr = cmd.ExecuteReader
        ComboBox1.Items.Add("Choose")
        ComboBox1.SelectedIndex = 0
        While dr.Read()
            ComboBox1.Items.Add(dr.Item("status"))
        End While

End Sub

Sau đó nhấp đúp vào nút Đăng nhập và nhập mã sau.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If TextBox1.Text = "" Or TextBox2.Text = "" Or ComboBox1.SelectedIndex = 0 Then
            MessageBox.Show("Complete All Fields")
        Else
            Call koneksinya()
            cmd = New OdbcCommand("select * from users where user = '" & TextBox1.Text & "' and pass = '" & TextBox2.Text & "' and status = '" & ComboBox1.Text & "'", conn)   
            dr = cmd.ExecuteReader
            dr.Read()
            If Not dr.HasRows Then
                MessageBox.Show("Login failed Check your username, password and status")
            Else
                Form2.Show()
                Form2.panel1.Text = "USER NAME : " + dr.Item("user")
                Form2.panel2.Text = "USER STATUS : " + dr.Item("status")
                If ComboBox1.Text = "LEADER" Then
                    Form2.BARANGToolStripMenuItem.Enabled = True
                    Form2.SUPPLIERToolStripMenuItem.Enabled = True
                    Form2.USERToolStripMenuItem.Enabled = True
                    Form2.GANTIPASSWORDToolStripMenuItem.Enabled = True
                    Form2.PENJUALANToolStripMenuItem.Enabled = False
                    Form2.PEMBELIANToolStripMenuItem.Enabled = False
                    Form2.LAPORANHARIANToolStripMenuItem.Enabled = True
                    Form2.LAPORANBULANANToolStripMenuItem.Enabled = True
                ElseIf ComboBox1.Text = "CASHIER" Then
                    Form2.BARANGToolStripMenuItem.Enabled = False
                    Form2.SUPPLIERToolStripMenuItem.Enabled = False
                    Form2.USERToolStripMenuItem.Enabled = False
                    Form2.GANTIPASSWORDToolStripMenuItem.Enabled = True
                    Form2.PENJUALANToolStripMenuItem.Enabled = True
                    Form2.PEMBELIANToolStripMenuItem.Enabled = False
                    Form2.LAPORANHARIANToolStripMenuItem.Enabled = False
                    Form2.LAPORANBULANANToolStripMenuItem.Enabled = False
                Else
                    Form2.BARANGToolStripMenuItem.Enabled = False
                    Form2.SUPPLIERToolStripMenuItem.Enabled = False
                    Form2.USERToolStripMenuItem.Enabled = False
                    Form2.GANTIPASSWORDToolStripMenuItem.Enabled = True
                    Form2.PENJUALANToolStripMenuItem.Enabled = False
                    Form2.PEMBELIANToolStripMenuItem.Enabled = True
                    Form2.LAPORANHARIANToolStripMenuItem.Enabled = False
                    Form2.LAPORANBULANANToolStripMenuItem.Enabled = False
                End If
                TextBox1.Clear()
                TextBox2.Clear()
                ComboBox1.SelectedIndex = 0
            End If
        End If
End Sub

Chương trình sẽ phát hiện nếu tên người dùng, mật khẩu và trạng thái để trống, một thông báo cảnh báo sẽ xuất hiện để điền vào tất cả các trường.
Nếu tất cả các trường đều được điền đầy đủ, chương trình sẽ so khớp tên người dùng, mật khẩu và trạng thái đã nhập cùng với nội dung của cơ sở dữ liệu.
Nếu không khớp, sẽ hiển thị thông báo cảnh báo đăng nhập không thành công, nếu phù hợp thì hiển thị trực tiếp Menu chính (Form2).
Đồng thời khi Menu chính xuất hiện, Tên người dùng Panel và Trạng thái Panel sẽ được điền theo Form đăng nhập trước đó.

Khi đó chương trình sẽ nhận dạng nếu Panel trạng thái được viết là LEADER thì chỉ có menu TRANSACTION không thể truy cập được, nếu là CASHIER thì chỉ có thể truy cập được là Sub Menu SALES và UTILIY, ngoài ra chỉ có thể truy cập được Sub Menu PURCHASE và UTILITY .

Ở đây bạn được tự do, hãy chỉ định quyền của người dùng theo menu bạn đã nhập

Và cuối cùng, nhấp đúp vào nút Thoát và nhập mã sau để đóng Biểu mẫu Đăng nhập

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)  
    Me.Close()
End Sub

Khi hoàn tất, chương trình đã sẵn sàng để chạy.

VIDEO DEMO.



Chúc mọi người thành công với thủ thuật trên.

1 nhận xét

  1. Có thể viết chương trình phân quyền cũng khá hay đó a
Hung Pro Blog @ 2025
Chia sẽ kiến thức và tư duy sáng tạo về nhiều ngôn ngữ lập trình khác nhau. Csharp, Visual Studio, Blogger, HTML, Javascript, CSS..v.v
Developed by Jago Desain