تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة فى انشاء نظام تسجيل و تسحيل الدخول
#1
مساعدة فى انشاء نظام تسجيل و تسحيل الدخول باستخدام قاعدة البيانات 
مثلآ يوجد قاعدة البيانات به خانة لى الاسم و خانة لى كلمة المرور  و خانة لتاريخ التسجيل و خانة لى تاريخ الانتهاء و خانة للتاكيد اذا كان هناك مستخدم اخر يستخدم هذا الحساب اى هذه الخانة يتم التعديل عليها اذا كانت القيمة = 0 اذآ لا يوجد مستخدم اخر يستخدم الحساب اما اذا كانت القيمة 1 يتم ايقاف عملية التسجيل لان يوجد مستخدم اخر يستخدم هذا الحساب يتم تعديل القيمة الى 1 عند تسجيل الدخول و يتم تغير القيمة الى 0 عند تسجيل الخروج
اذا امكن احد من الاخوة مساعدتى لا اعلم الكثير فى قاعدة البيانات لاكن اريد ان اتعلم حتى الان لا يمكننى انشاء هذه الفكرة 
ملاحظة قاعدة البيانات سوف تكون مرفوعة على سيرفر انشاء الله
الرد
تم الشكر بواسطة:
#2
السلام عليكم
تابع الرابط التالي 
http://vb4arb.com/vb/thread-17997.html

المشاركة اعلاه لتوضيح كيفية عمل شاشة تسجيل اما لضبط عملية تسجيل الدخول و الخروج و منع المستخدمين المتواجدين فعلاً من تسجيل الدخول مرة اخرى فهي كما ياتي:
تحتاج جدول باسم (Users_Access_TB) يتكون من لحقل التالية:
1. (ID) (معرف)
2. (User_ID) (معرف المستخدم)
3. (User_Status) (حالة المستخدم)
4. (Login_Date) (وقت تسجيل الدخول)
5. (Logout_Date) (وقت تسجيل الخروج)

البروسيجر التالي يقوم بضبط عملية توثيق دخول و خروج المستخدمين في الجدول اعلاه و كما ياتي
PHP كود :
Public Shared Sub useraccesssub(ByVal formname As StringByVal Frm As FormByVal con As SqlConnectionByVal userid As Integer)

 
       Try
            Frm
.Cursor Cursors.WaitCursor
            Dim useraccesscmd 
As New SqlCommand()
 
           Select Case formname
                Case 
"LoginFrm"

 
                   With useraccesscmd
                        
.Connection con
                        
.CommandText "insert into users_access_tb (user_id , user_status , login_date) values (@userid,@userstatus,@logindate)"
 
                       .Parameters.AddWithValue("@userid"userid)
 
                       .Parameters.AddWithValue("@userstatus"1)
 
                       .Parameters.AddWithValue("@logindate"Now())


 
                       If con.State ConnectionState.Closed Then con.Open()
 
                       Try
                            
.ExecuteNonQuery()
 
                           con.Close()
 
                       Catch ex As Exception
                            If con
.State ConnectionState.Open Then con.Close()
 
                           MsgBox(ex.MessageMsgBoxStyle.Critical)
 
                       End Try

 
                   End With
                Case 
"MainFrm"
 
                   Dim whereclause As String "SELECT TOP 1 [ID] FROM [Users_Access_TB] " _
                                              
" where user_id = " userid " order by id desc"
 
                   With useraccesscmd
                        
.Connection con
                        
.CommandText "update users_access_tb set logout_date = @currentdatetime  , user_status = 0 where id = (" _
                            
whereclause ")"
 
                       .Parameters.AddWithValue("@currentdatetime"Now)
 
                       Try
                            If con
.State ConnectionState.Closed Then con.Open()
 
                           .ExecuteNonQuery()
 
                           con.Close()
 
                       Catch ex As Exception

                            If con
.State ConnectionState.Open Then con.Close()
 
                           MsgBox(ex.MessageMsgBoxStyle.Critical)
 
                       End Try
 
                   End With
            End Select
            Frm
.Cursor Cursors.Default
 
       Catch ex As Exception
            If con
.State ConnectionState.Open Then con.Close()
 
           Frm.Cursor Cursors.Default
 
           If ex.Message.ToString "Object reference not set to an instance of an object." Then
                Exit Sub
            End 
If
 
           MsgBox(ex.MessageMsgBoxStyle.Critical)
 
       End Try
 
   End Sub 


في حدث (MainFrm_FormClosing) للنافذة الرئيسية ضع السطور التالية

PHP كود :
Try
 
           If (MessageBox.Show("هل تريد مغادرة البرنامج ""برنامج الكاشير"MessageBoxButtons.YesNo_
                                MessageBoxIcon
.QuestionMessageBoxDefaultButton.Button1MessageBoxOptions.RtlReading) = Windows.Forms.DialogResult.YesThen
                useraccesssub
(Me.NameMeconuserid)
 
               Me.Dispose()
 
               End
            Else
                e
.Cancel True
            End 
If
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
       End Try 

ارجو ان يكون الشرح بسيط و واضح
تحياتي ..
الرد
تم الشكر بواسطة: Mohamed20
#3
(14-01-17, 05:41 PM)ابراهيم النعيمي كتب : السلام عليكم
تابع الرابط التالي 
http://vb4arb.com/vb/thread-17997.html

المشاركة اعلاه لتوضيح كيفية عمل شاشة تسجيل اما لضبط عملية تسجيل الدخول و الخروج و منع المستخدمين المتواجدين فعلاً من تسجيل الدخول مرة اخرى فهي كما ياتي:
تحتاج جدول باسم (Users_Access_TB) يتكون من لحقل التالية:
1. (ID) (معرف)
2. (User_ID) (معرف المستخدم)
3. (User_Status) (حالة المستخدم)
4. (Login_Date) (وقت تسجيل الدخول)
5. (Logout_Date) (وقت تسجيل الخروج)

البروسيجر التالي يقوم بضبط عملية توثيق دخول و خروج المستخدمين في الجدول اعلاه و كما ياتي
PHP كود :
Public Shared Sub useraccesssub(ByVal formname As StringByVal Frm As FormByVal con As SqlConnectionByVal userid As Integer)

 
       Try
            Frm
.Cursor Cursors.WaitCursor
            Dim useraccesscmd 
As New SqlCommand()
 
           Select Case formname
                Case 
"LoginFrm"

 
                   With useraccesscmd
                        
.Connection con
                        
.CommandText "insert into users_access_tb (user_id , user_status , login_date) values (@userid,@userstatus,@logindate)"
 
                       .Parameters.AddWithValue("@userid"userid)
 
                       .Parameters.AddWithValue("@userstatus"1)
 
                       .Parameters.AddWithValue("@logindate"Now())


 
                       If con.State ConnectionState.Closed Then con.Open()
 
                       Try
                            
.ExecuteNonQuery()
 
                           con.Close()
 
                       Catch ex As Exception
                            If con
.State ConnectionState.Open Then con.Close()
 
                           MsgBox(ex.MessageMsgBoxStyle.Critical)
 
                       End Try

 
                   End With
                Case 
"MainFrm"
 
                   Dim whereclause As String "SELECT TOP 1 [ID] FROM [Users_Access_TB] " _
                                              
" where user_id = " userid " order by id desc"
 
                   With useraccesscmd
                        
.Connection con
                        
.CommandText "update users_access_tb set logout_date = @currentdatetime  , user_status = 0 where id = (" _
                            
whereclause ")"
 
                       .Parameters.AddWithValue("@currentdatetime"Now)
 
                       Try
                            If con
.State ConnectionState.Closed Then con.Open()
 
                           .ExecuteNonQuery()
 
                           con.Close()
 
                       Catch ex As Exception

                            If con
.State ConnectionState.Open Then con.Close()
 
                           MsgBox(ex.MessageMsgBoxStyle.Critical)
 
                       End Try
 
                   End With
            End Select
            Frm
.Cursor Cursors.Default
 
       Catch ex As Exception
            If con
.State ConnectionState.Open Then con.Close()
 
           Frm.Cursor Cursors.Default
 
           If ex.Message.ToString "Object reference not set to an instance of an object." Then
                Exit Sub
            End 
If
 
           MsgBox(ex.MessageMsgBoxStyle.Critical)
 
       End Try
 
   End Sub 


في حدث (MainFrm_FormClosing) للنافذة الرئيسية ضع السطور التالية

PHP كود :
Try
 
           If (MessageBox.Show("هل تريد مغادرة البرنامج ""برنامج الكاشير"MessageBoxButtons.YesNo_
                                MessageBoxIcon
.QuestionMessageBoxDefaultButton.Button1MessageBoxOptions.RtlReading) = Windows.Forms.DialogResult.YesThen
                useraccesssub
(Me.NameMeconuserid)
 
               Me.Dispose()
 
               End
            Else
                e
.Cancel True
            End 
If
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
       End Try 

ارجو ان يكون الشرح بسيط و واضح
تحياتي ..

جزاك الله خير شكرآ اخى على الشرح
الرد
تم الشكر بواسطة: ابراهيم النعيمي



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


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