تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل شاشة تسجيل دخول لبرنامج عبر فيجوال بيسك 2008
#2
السلام عليكم
بداية تحتاج ان يكون لديك جدول للمستخدمين يتكو على الاقل من الحقول الرئيسية التالية:
1. ID (معرف)
2. User_Name (اسم المستخدم)
3. User_Password (كلمة المرور)
4. Employee_Name (اسم الموظف)
5. User_Privilege (صلاحية المستخدم (مدير - مستخدم عادي))
6. Record_Status (حالة المستخدم (مفعل - معلق))
سأفترض أن اسم الجدول الذي يحوي الحقول اعلاه اسمه (Users_TB) و أن قاعدة البيانات المستخدمة هي (SQL Server)
سنحتاج الى نافذة تسجيل دخول تتكون من العناصر التالية (TextBox عدد/2 + Label عدد/2 + Button عدد/2) كما موضح ادناه



في حدث (Click) للزر (تسجيل الدخول) ادرج الكود التالي مع تعديل ما يناسبك:
PHP كود :
UsernameTextBox.Enabled False
        Me
.Cursor Cursors.WaitCursor
        Try

            Dim usernamecmd 
As New SqlCommand("select id , user_name,Employee_Name from users_TB where user_name = '" UsernameTextBox.Text _
                                              
"' and Record_Status = 'Activated'"con)
 
           Me.Cursor Cursors.WaitCursor
            con
.Open()
 
           Dim usernamedr As SqlDataReader usernamecmd.ExecuteReader
            usernamedr
.Read()
 
           If Not (usernamedr.HasRowsThen
                UsernameTextBox
.Enabled True
                Me
.Cursor Cursors.Default
 
               MessageBox.Show("اسم المستخدم غير صحيح او غير مفعل""تسجيل الدخول"MessageBoxButtons.RetryCancelMessageBoxIcon.WarningMessageBoxDefaultButton.Button1MessageBoxOptions.RtlReading)
 
               Me.UsernameTextBox.Text ""
 
               Me.PasswordTextBox.Text ""
 
               Me.UsernameTextBox.Focus()
 
           Else
                userid 
usernamedr.Item(0)
 
               EmployeeName usernamedr.Item(2)

 
               'للتأكد من ان المستخدم الحالي غير مستخدم من قبل موظف اخر في الشركة
                Dim userstatussstring As String = "SELECT TOP 1 [user_Status] FROM [Users_Access_TB] " _
                                          & " where user_id = " & userid & " order by id desc"
                Dim userstatuscmd As New SqlCommand(userstatussstring, con)
                usernamedr.Close()
                If userstatuscmd.ExecuteScalar = True Then

                    Me.UsernameTextBox.Enabled = True
                    Me.UsernameTextBox.Focus()
                    MessageBox.Show("المستخدم " & Me.UsernameTextBox.Text & " متواجد فعلاً في النظام", "تسجيل دخول", MessageBoxButtons.OK _
                                    , MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
                    Me.UsernameTextBox.Text = ""
                    Me.PasswordTextBox.Text = ""
                    Me.Cursor = Cursors.Default
                    usernamedr.Close()
                    con.Close()
                    Exit Sub
                End If
                If usernamedr.IsClosed = False Then usernamedr.Close()

                Dim passwordcmd As New SqlCommand("select user_password from users_TB where id = " & userid, con)
                Dim passworddr As SqlDataReader = passwordcmd.ExecuteReader
                passworddr.Read()
                If PasswordTextBox.Text = passworddr.Item(0) Then
                    UsernameTextBox.Enabled = True
                    Me.Cursor = Cursors.Default
                    passworddr.Close()
                    con.Close()
                    MsgBox("مرحباً بك " & EmployeeName, MsgBoxStyle.Information, "تسجيل الدخول")
                    Me.UsernameTextBox.Text = ""
                    MainFrm.Show()
                    useraccesssub(Me.Name, Me, con, userid)
                    Me.Hide()
                Else
                    UsernameTextBox.Enabled = True
                    Me.Cursor = Cursors.Default
                    Me.PasswordTextBox.Focus()
                    MessageBox.Show("كلمة المرور غير صحيحة", "تسجيل الدخول", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
                    Me.PasswordTextBox.Text = ""
                    passworddr.Close()
                    If con.State = ConnectionState.Open Then con.Close()
                    Exit Sub
                End If
                If passworddr.IsClosed = False Then passworddr.Close()
            End If
            If usernamedr.IsClosed = False Then usernamedr.Close()
            If con.State = ConnectionState.Open Then con.Close()
        Catch ex As Exception
            UsernameTextBox.Enabled = True
            Me.Cursor = Cursors.Default
            If con.State = ConnectionState.Open Then con.Close()
            If ex.Message.ToString = "A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)" Then
                MessageBox.Show("لا يوجد اتصال مع قاعدة البيانات .. يرجى الاتصال بمدير النظام.", "تسجيل دخول", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
                Exit Sub
            End If
            MsgBox(ex.Message, MsgBoxStyle.Critical, msgboxtitle)
        End Try 

ارجو ان يكون الشرح واضحاً

تحياتي ..
الرد }}}
تم الشكر بواسطة: abulayth , thevirus , ممدوح , ممدوح , Adrees


الردود في هذا الموضوع
RE: عمل شاشة تسجيل دخول لبرنامج عبر فيجوال بيسك 2008 - بواسطة ابراهيم النعيمي - 12-11-16, 02:29 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  جهاز ارسال رسائل SMS من خلال برنامج فيجوال بيسك جيولوجي مبتدئ 4 1,015 05-09-25, 12:37 PM
آخر رد: جيولوجي مبتدئ
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,213 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حفظ تنسيق الفورم ثم تطبيقة علي فورم اخر فيجوال بيسك abo ragab 7 1,200 09-07-25, 12:45 AM
آخر رد: abo ragab
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 818 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  [VB.NET] خطا عن دخول للمنظومة MOHAMMED ALZWI 5 380 10-03-25, 02:03 AM
آخر رد: أبووسم2
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 778 07-02-25, 07:57 PM
آخر رد: الورد2
Lightbulb [مشروع] مطلوب برنامج نظام صيدليه بالفيجوال بيسك 2010 May-5 13 10,771 07-02-25, 07:55 PM
آخر رد: الورد2
  [VB.NET] شرح انشاء تقارير فجوال 2008 Report.Rdlc mefof 0 337 27-01-25, 12:11 PM
آخر رد: mefof
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,498 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري
  افضل نسخة فيجوال نت مافيها مشاكل Wolfalwolf20 0 300 13-12-24, 05:40 PM
آخر رد: Wolfalwolf20

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم