28-01-18, 11:04 PM
أنا أقوم على عمل مشروع لضبط الحضور والانصراف والتأخير للموظفين بشركتي المشكلة اللتى واجهتني أنني أستعمل حدث TextChanged للقيام بإدخلات البيانات عن طريق الباركود كل أموري تمام لهذا الحد من جلب بيانات موظفين وكود حفظ بيانات اللى اريده أن يقوم الكود الذي أنشئتة بالتحقق من عدم وجود إزدواجية فى البيانات أى لايدخل الموظف مرتين فى نفس اليوم وقبل كل ذلك يفحص قاعدة البيانات فإذا وجد فيها بيانات يقوم بفحص ازدواجية البيانات واذا لم يجد يخزن مباشرة ولكنى بعدما قمت بانشاء الكود لاحظت أن البيانات يتم تخزينها بطريقة مزدوجة فى نفس الوقت ومش عارف الخلل منين فهل أحد يساعدنى
كود :
Dim command As SqlCommand
command = New SqlCommand("SELECT COUNT(EmpName) as EmpNameCount FROM EmployeesAttend", con)
Dim reader As SqlDataReader = command.ExecuteReader()
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
While (reader.Read())
If reader("EmpNameCount") = 0 Then
'حالة عدم وجود بيانات
'حفظ البيانات مباشرة
GetEmpInfo()
SaveEmpInfATT()
Clear()
Else
'حالة وجود بيانات
' التأكد من عدم وجود ازدواجية
If con.State = ConnectionState.Open Then
con.Close()
End If
con = New SqlConnection(cs)
con.Open()
Dim cmd11 As New SqlCommand(" Select EmpCode from EmployeesAttend Where EmpCode = '" & TxtCode.Text.Trim & "' and AttendsDay='" & Label8.Text.Trim & "' and AttendsDate = '" & Label5.Text.Trim & "' ", con)
Dim dr1 As SqlDataReader = cmd11.ExecuteReader()
'=================================
If dr1.Read Then
If MsgBox(" الموظف تم تسجيلة من قبل و لا يمكن تسجيلة مره اخرى", MsgBoxStyle.Exclamation, "منظومة الدمرداش المدرسية") = MsgBoxResult.Ok Then
con.Close()
TxtCode.SelectAll()
Exit Sub
End If
Else
GetEmpInfo()
SaveEmpInfATT()
Clear()
End If
'=======================================
End If
End While
con.Close()