Posted by : Lê Tấn Thành 11/9/13

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 ObjectByVal 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 ObjectByVal 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 ObjectByVal e As 
System.EventArgs) Handlestxtuser.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) = "@" OrMid(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 StringByVal 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 ObjectByVal e As System.EventArgs) 
Handlescon.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 ObjectByVal 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

{ 0 nhận xét }

Welcome to Zhu's Blog

Bài viết ngẫu nhiên


\
[close]

Fanpage

Số người Online

Trang thông tin điện tử, tin tức xã hội, tin công nghệ, trao đổi kiến thức
Copyright © 2013 Design by Johanes DJ
Devenlopment by Zhu
Email: izukroyal@gmail.com