مساعدة فى انشاء نظام تسجيل و تسحيل الدخول - Mohamed20 - 12-01-17
مساعدة فى انشاء نظام تسجيل و تسحيل الدخول باستخدام قاعدة البيانات
مثلآ يوجد قاعدة البيانات به خانة لى الاسم و خانة لى كلمة المرور و خانة لتاريخ التسجيل و خانة لى تاريخ الانتهاء و خانة للتاكيد اذا كان هناك مستخدم اخر يستخدم هذا الحساب اى هذه الخانة يتم التعديل عليها اذا كانت القيمة = 0 اذآ لا يوجد مستخدم اخر يستخدم الحساب اما اذا كانت القيمة 1 يتم ايقاف عملية التسجيل لان يوجد مستخدم اخر يستخدم هذا الحساب يتم تعديل القيمة الى 1 عند تسجيل الدخول و يتم تغير القيمة الى 0 عند تسجيل الخروج
اذا امكن احد من الاخوة مساعدتى لا اعلم الكثير فى قاعدة البيانات لاكن اريد ان اتعلم حتى الان لا يمكننى انشاء هذه الفكرة
ملاحظة قاعدة البيانات سوف تكون مرفوعة على سيرفر انشاء الله
RE: مساعدة فى انشاء نظام تسجيل و تسحيل الدخول - ابراهيم النعيمي - 14-01-17
السلام عليكم
تابع الرابط التالي
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 String, ByVal Frm As Form, ByVal con As SqlConnection, ByVal 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.Message, MsgBoxStyle.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.Message, MsgBoxStyle.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.Message, MsgBoxStyle.Critical) End Try End Sub
في حدث (MainFrm_FormClosing) للنافذة الرئيسية ضع السطور التالية
PHP كود :
Try If (MessageBox.Show("هل تريد مغادرة البرنامج ", "برنامج الكاشير", MessageBoxButtons.YesNo, _ MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) = Windows.Forms.DialogResult.Yes) Then useraccesssub(Me.Name, Me, con, userid) Me.Dispose() End Else e.Cancel = True End If Catch ex As Exception MsgBox(ex.Message) End Try
ارجو ان يكون الشرح بسيط و واضح
تحياتي ..
RE: مساعدة فى انشاء نظام تسجيل و تسحيل الدخول - Mohamed20 - 15-01-17
(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 String, ByVal Frm As Form, ByVal con As SqlConnection, ByVal 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.Message, MsgBoxStyle.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.Message, MsgBoxStyle.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.Message, MsgBoxStyle.Critical) End Try End Sub
في حدث (MainFrm_FormClosing) للنافذة الرئيسية ضع السطور التالية
PHP كود :
Try If (MessageBox.Show("هل تريد مغادرة البرنامج ", "برنامج الكاشير", MessageBoxButtons.YesNo, _ MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) = Windows.Forms.DialogResult.Yes) Then useraccesssub(Me.Name, Me, con, userid) Me.Dispose() End Else e.Cancel = True End If Catch ex As Exception MsgBox(ex.Message) End Try
ارجو ان يكون الشرح بسيط و واضح
تحياتي ..
جزاك الله خير شكرآ اخى على الشرح
|