Member 13040174 Ответов: 2

Экономьте время выхода из системы VB.NET при многократном входе и выходе из системы за один день?


Я правильно сэкономил время входа в систему. Но при обновлении времени выхода из системы все значения из предыдущих строк также обновляются при выходе из системы. Если задан идентификатор в каком состоянии он даже не сохраняется

Что я уже пробовал:

Public Function logoutpage(ByVal iEmpID As Integer) As Integer
     Try
         Dim sSql As String = ""
         sSql = " UPDATE employee.tblcheck SET " &
                  " OutTime='" & DateTime.Now.ToString("hh:mm:ss") & "'"
         Dim ireturn As Integer = execute(sSql)
     Catch ex As Exception
     End Try
 End Function





Private Sub btnlogout_Click(sender As Object, e As EventArgs) Handles btnlogout.Click
       Dim objlogout As New Attendance
       Dim iresult As Integer = objlogout.logoutpage(0)
       Response.Redirect("LoginPage.aspx")
   End Sub

CHill60

Вы должны использовать идентификатор сотрудника, иначе вы выйдете из системы!
Никогда не используйте сцепленные строки для SQL - вместо того, чтобы использовать объект sqlparameter

2 Ответов

Рейтинг:
2

Dave Kreskowiak

МММ...есть проблема с вашим дизайном. Что делать, если питание не работает или компьютер выходит из строя, а выхода из системы нет?? Вы действительно не можете отследить его таким образом. Дизайн вашей базы данных позволяет отслеживать только время последнего входа и выхода из системы. У вас нет никаких исторических записей.

Это не проблема кода. Это большая проблема дизайна, когда у вас нет набора бизнес-правил, которые имеют какой-либо смысл.


Рейтинг:
17

F-ES Sitecore

Public Function logoutpage(ByVal iEmpID As Integer) As Integer
        Try
            Dim sSql As String = ""
            sSql = " UPDATE employee.tblcheck SET " &
                     " OutTime='" & DateTime.Now.ToString("hh:mm:ss") & "'"
                     & " WHERE employee.tblcheck.EmployeeId = " & iEmpID.ToString
            Dim ireturn As Integer = execute(sSql)
        Catch ex As Exception
        End Try
    End Function


Вам нужно будет заменить поле фактический идентификатор сотрудника в предложении WHERE.


Member 13040174

Я сделал это, но если бы я дал Эмпиду, он даже не показывал бы никакого времени

F-ES Sitecore

Что вы имеете в виду, не показывая никакого времени? В вашем коде нет ничего, что бы отображало что-либо.