TRANG CHỦ
Imports
System.Data.SqlClient
Public Class Frm_DangNhap
Hàm đầu tiên dùng để kiểm quá trình kết nối dữ liệu, kiểm tra điều kiện nhập
Private Sub bttdn_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles bttdn.Click
If (txtuser.Text = "")
Then
MessageBox.Show("Bạn hãy nhập vào tên tài khoản")
txtuser.Focus()
Else
If
(txtpass.Text = "") Then
MessageBox.Show("Bạn hãy nhập vào mật khẩu")
txtpass.Focus()
Else
Tạo một class kết nối, sử dụng class với đối số truyền vô là hai text nhập
Dim
ketn As New
Ketnoi
If
ketn.ktketnoi(txtuser.Text, txtpass.Text) Then
MessageBox.Show("Bạn đã đăng nhập thành công")
Frm_TrangChu.Show()
Me.Hide()
Else //ngược lại tức là dữ liệu lấy từ ketnoi
không có hoặc một trong tài khoản hoặc user đã sai thì thông báo
MessageBox.Show("Lỗi đăng nhập!")
txtpass.Text = ""
txtpass.Focus()
End
If
End
If
End IF
End Sub
Nút hủy bỏ khi nhấn thì cho hai text nhập trống và đặt con trỏ tại text
user
Private Sub btthb_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles btthb.Click
txtuser.Text = ""
txtpass.Text = ""
txtuser.Focus()
End Sub
Nút thoát khỏi chương trình
Private Sub bttt_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles bttt.Click
Close()
End Sub
Đặt sự kiện cho txtuser là keydown khi nhập xong nhấn enter tự xuống dòng
Private Sub txtuser_KeyDown(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) Handles
txtuser.KeyDown
If
e.KeyValue = Keys.Enter Then
txtpass.Focus()
End If
End Sub
Sự kiện cho txtpass là keydown nhập xong nhấn enter thì gọi lệnh đăng nhập
Private Sub txtpass_KeyDown(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) Handles
txtpass.KeyDown
If
e.KeyValue = Keys.Enter Then
bttdn_Click(sender, e)
End If
End Sub
Đặt thuộc tính của txtusser là TextChanged ý nghĩa cứ mỗi lần nhập một kí
tự sẻ thực hiện lệnh
Private Sub txtuser_TextChanged(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles txtuser.TextChanged
If
(txtuser.Text <> "") Then
Cứ mỗi lần nhập một kí tự vào txtuser thì hàm txtuser_textchanged xét điều
kiện nhập nếu thỏa điều kiện nằm trong khoản là từ a..z, hay A..Z, và chỉ cho
nhập các kí tự “@”, ”.”, ”_” biến i có nhiệm vụ là biến đếm
Dim i As Integer
i = 1
Do While (i <= txtuser.Text.Length)
If
((Mid(txtuser.Text, i, 1) >= "a"
And (Mid(txtuser.Text, i, 1) <= "z")) Or
(Mid(txtuser.Text, i, 1) >= "A"
And Mid(txtuser.Text, i, 1) <= "Z") Or
(Mid(txtuser.Text, i, 1) >= "0"
And (Mid(txtuser.Text, i, 1) <= "9")) Or
Mid(txtuser.Text, i, 1) = "@" Or Mid(txtuser.Text, i, 1) = "_"
Or Mid(txtuser.Text, i, 1) = ".") Then
i = i + 1
Else
Exit
Do //Nếu không thỏa điều kiện thì thoát vòng lặp
End
If
Loop
Nếu giá trị nhập kí tự kế tiếp không thỏa điều kiện ở trên thì sẻ sẻ xóa
kí tự vừa nhập và đặt txtuser.text=giá trị trước khi nhập kí tự không thỏa và đặt
con trỏ tại txtuer với vị trí bắng đầu là chiều dài của txtuser
If
i = txtuser.Text.Length Then
MessageBox.Show("Username
chỉ gồm chữ cái, chữ số, @ , '.' và '_'")
txtuser.Text =
Mid(txtuser.Text, 1, txtuser.Text.Length - 1)
txtuser.SelectionStart =
txtuser.Text.Length
txtuser.Focus()
Ngược lại nếu giá trị nhập vào đầu tiên là không thỏa thì đặt txtuser=””
ElseIf i < txtuser.Text.Length Then
MessageBox.Show("Username
chỉ gồm chữ cái, chữ số, @ , '.' và '_'")
txtuser.Text = ""
txtuser.Focus()
End
If
End If
End Sub
Form load cứ mỗi lần load form thì đặt các text bằng rổng
Private Sub Frm_DangNhap_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
txtuser.Text = ""
txtpass.Text = ""
txtuser.Focus()
End Sub
End Class
KẾT NỐI
Imports
System.Data.SqlClient
Public Class Ketnoi
Private
conn = "Data Source=THANH\SQLEXPRESS;Initial
Catalog=QLS;Integrated Security=True"
Public Function ktketnoi(ByVal
user As String,
ByVal pass As String) As Boolean //tạo ra class kết nối với giá trị trả về
là kiểu true, false
Try
Dim
sql = "select * from quantri where username='"
& user & "' and pass= '" & pass & "' "
Dim
sqlcon As New
SqlConnection(conn)
Dim
adapter As New
SqlDataAdapter(sql, sqlcon)
Dim
dt As New
DataTable //Tạo biết dt dạng dữ liệu là
một table
adapter.Fill(dt) //Đưa giá trị từ kết nối vào biến dt
If
dt.Rows.Count > 0 Then //>0 có nghĩa là có giá trị trong dt
Return
True
Else
Return
False
End
If
Catch
ex As Exception
Return False
End Try
End Function
End Class
TRANG CHỦ
Public Class Frm_TrangChu
Private Sub Frm_TrangChu_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Frm_con.MdiParent = Me //Tạo 1
from con và ở form cha đặt dòng lệnh này
End Sub
Khi chọn form con trong menu thì hiện form con lên
Private Sub con_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles con.Click
Dim moi
As New Frm_con
Frm_con.Show()
End Sub
Khi chọn nút thoát trong menu thì xuất ra một thông báo nếu chọn yes thì
thoát và ngược lại nếu no thì không thoát
Private Sub ThoátToolStripMenuItem1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
ThoátToolStripMenuItem1.Click
If
MessageBox.Show("Bạn có muốn thoát?",
"Thông Báo",
MessageBoxButtons.YesNo, MessageBoxIcon.Information) =
Windows.Forms.DialogResult.Yes Then
Application.Exit()
Me.Dispose()
End If
End Sub
Khi chọn nút đăng nhập trong menu thì đóng form hiện tại lại và cho hiển
thị form Đăng nhập lên và cho tất cả các text của form đăng nhập bằng rổng để
nhập lại và đặt con trỏ hiện tại tại txtuser
Private Sub ĐăngNhập(ByVal
sender As Object,
ByVal e As
EventArgs) Handles ĐăngNhậpToolStripMenuItem.Click
Me.Dispose()
Frm_DangNhap.Show()
Frm_DangNhap.txtuser.Text = ""
Frm_DangNhap.txtpass.Text = ""
Frm_DangNhap.txtuser.Focus()
End Sub
End Class
Hướng dẫn đăng nhập trong vb net với access:
Trả lờiXóahttps://www.youtube.com/watch?v=KtkO8oWqZ2E
Nhận xét này đã bị tác giả xóa.
Trả lờiXóaThanks code rất hay nhé
Trả lờiXóa