是否限制VB.NET一天中的进出时间?

编程入门 行业动态 更新时间:2024-10-24 22:18:00
本文介绍了是否限制VB.NET一天中的进出时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我已经开发了一个使用指纹的时间监控系统,员工可以扫描手指,然后记录时间的到来和超时.但是我的问题是员工登录和注销都是无限的.有什么解决方案可以使员工一天一次登录登出?每个员工都将登录并注销一次.这是我的每日时间记录表的代码:(我使用Visual Studio 2010/扫描仪使用Digital Persona UareU)

I have developed a time monitoring system using fingerprint where the employee will scan his/her finger then it will record the time in and time out. But my problem is logging in and logging out by the employee is unlimited. Is there a solution where the employee can log in and log out ONCE IN A DAY? Every employee will log in and log out once. Here is my code for my Daily Time Record Form: (Im using visual studio 2010/Digital Persona UareU for my scanner)

Imports MySql.Data.MySqlClient Imports System.Windows.Forms Imports DPFP Public Class frmDTR Dim counter As Integer = 0 Dim oConn As New MySqlConnection(ConnectionString.ConnString) Private matcher As DPFP.Verification.Verification Private matchResult As DPFP.Verification.Verification.Result Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click Me.Close() End Sub Public Sub SEARCH_EMPLOYEE() Try 'Load From DB GlobalFunctions.db_connect() Dim reader As MySqlDataReader Dim command As MySqlCommand = connection.CreateCommand() command.CommandText = "SELECT * FROM employee_records WHERE ID_Number='" & strid & "'" 'check tag number if existing reader = command.ExecuteReader() If (reader.HasRows) Then While (reader.Read()) With Me 'plot the data into controls .txtID.Text = reader(1).ToString .txtFirst.Text = reader(2).ToString .txtMiddle.Text = reader(3).ToString .txtLast.Text = reader(4).ToString .txtAge.Text = reader(5).ToString .txtBday.Text = reader(6).ToString .txtDepartment.Text = reader(7).ToString .txtYear.Text = reader(8).ToString .txtGender.Text = reader(9).ToString .txtContact.Text = reader(10).ToString .txtMobile.Text = reader(11).ToString .txtEmail.Text = reader(12).ToString 'fetch image from database Dim imgBytes() As Byte = reader("image") 'image field Dim image As Bitmap = New Bitmap(New System.IO.MemoryStream(imgBytes)) 'convert binary to image .ProfilePic.Image = image 'show picture to picture box End With Call LOG_EMP() 'look up if login /log out Timer1.Enabled = True End While Else 'Me.lblStatus.Text = "ID not recognized!" End If Catch ex As Exception MessageBox.Show("Error scanning: " & ex.Message) End Try GlobalFunctions.connection.Close() End Sub Public Sub LOG_EMP() Try ' Load From DB GlobalFunctions.db_connect() Dim reader As MySqlDataReader Dim command As MySqlCommand = connection.CreateCommand() command.CommandText = "SELECT * FROM employee_logs WHERE ID_Number='" & strid & "' AND Time_Out='Null'" reader = command.ExecuteReader() If (reader.HasRows) Then While (reader.Read()) End While 'logout Call EMP_LOGOUT() Else 'log in Call EMPT_LOGIN() End If Catch ex As Exception MessageBox.Show("Error scanning: " & ex.Message) End Try GlobalFunctions.connection.Close() End Sub 'insert login data Public Sub EMPT_LOGIN() ' Connect to Database GlobalFunctions.db_connect() Dim command As MySqlCommand Dim transaction As MySqlTransaction transaction = GlobalFunctions.connection.BeginTransaction() Try command = New MySqlCommand("INSERT INTO employee_logs values('','" & txtID.Text & "','" & txtFirst.Text & "','" & txtMiddle.Text & "','" & txtLast.Text & "','" & txtDepartment.Text & "','" & Date.Today & "','" & TimeOfDay & "','Null') ", GlobalFunctions.connection, transaction) command.ExecuteNonQuery() transaction.Commit() 'sms = txtFirst.Text & " Enter the Building Premises @" & Now 'actual sms lblStatus.ForeColor = Color.Lime Dim SAPI SAPI = CreateObject("SAPI.spvoice") SAPI.Speak("Welcome!" & txtFirst.Text) Me.lblStatus.Text = "Successfully Logged IN! Welcome!" 'set status to login 'Will_SendSMS() 'send sms to number Catch ex As MySqlException MessageBox.Show("Error in inserting new record! Error: " & ex.Message, "Data Error", MessageBoxButtons.OK, MessageBoxIcon.Error) transaction.Rollback() End Try 'close connections GlobalFunctions.connection.Close() End Sub Public Sub EMP_LOGOUT() ' Connect to Database GlobalFunctions.db_connect() ' Dim command As MySqlCommand Dim transaction As MySqlTransaction transaction = GlobalFunctions.connection.BeginTransaction() Try GlobalFunctions.execute_nonquery("Update employee_logs set Time_Out='" & TimeOfDay & "' WHERE ID_Number='" & strid & "' AND Time_Out='Null' AND Date='" & Date.Today & "'") transaction.Commit() 'sms = txtFirst.Text & " Left the Building Premises @" & Now & "Powered by: " ' actual sms to be sent lblStatus.ForeColor = Color.Lime Dim SAPI SAPI = CreateObject("SAPI.spvoice") SAPI.Speak("Goodbye!" & txtFirst.Text) lblStatus.Text = "Successfully Logged OUT! Goodbye!" ' set status to logout 'Will_SendSMS() 'send sms Catch ex As MySqlException MessageBox.Show("Error in updating a record! Error: " & ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error) transaction.Rollback() End Try ' close connections GlobalFunctions.connection.Close() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 'counter for display counter += 1 If counter = 6 Then Call ClearTextBox(Me) lblStatus.ForeColor = Color.Lime Me.lblStatus.Text = "Please scan your finger....." Lblverify.ForeColor = Color.Black Lblverify.Text = "Status" ProfilePic.Image = Nothing Timer1.Enabled = False counter = 0 End If End Sub Private Sub frmDTR_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated Try Me.VerificationControl.Focus() Catch ex As MySqlException MessageBox.Show("System Error: " & ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub frmDTR_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load matcher = New Verification.Verification() matchResult = New Verification.Verification.Result Me.VerificationControl.Focus() Dim SAPI SAPI = CreateObject("SAPI.spvoice") SAPI.Speak("Please scan your finger") End Sub Private Sub VerificationControl_OnComplete(ByVal Control As Object, ByVal FeatureSet As DPFP.FeatureSet, ByRef EventHandlerStatus As DPFP.Gui.EventHandlerStatus) Handles VerificationControl.OnComplete Dim strSQL As String = "Select * from finger_template" Dim oDa As New MySqlDataAdapter(strSQL, oConn) Dim dt As New DataTable Dim dr As DataRow Try oDa.Fill(dt) For Each dr In dt.Rows Lblverify.ForeColor = Color.Red Lblverify.Visible = True Dim bytes As Byte() = Nothing bytes = dr.Item("byte_template") Dim tmplate = New DPFP.Template() tmplate.DeSerialize(bytes) matcher.Verify(FeatureSet, tmplate, matchResult) If matchResult.Verified Then EventHandlerStatus = DPFP.Gui.EventHandlerStatus.Success strid = dr.Item("Account_ID") Call SEARCH_EMPLOYEE() Exit For ' success End If If Not matchResult.Verified Then EventHandlerStatus = DPFP.Gui.EventHandlerStatus.Failure Lblverify.Text = "Status" lblStatus.Text = "Unrecognize fingerprint....." Lblverify.ForeColor = Color.Red lblStatus.ForeColor = Color.Red Timer1.Start() Next Catch ex As Exception End Try End Sub End Class

推荐答案

这很不错,您正在开发此逻辑.其实我遇到了您的疑问.现在,我可以为您推荐一些使用后端MS ACCESS 2007的vb代码.您只需验证员工何时登录,然后在登录"按钮后输入此代码,或者您使用的是什么.

This is very nice that you are developing this logic. Actually I have come a crossed YOUR question. Now I can recommend you some vb code using back end MS ACCESS 2007 .well You just validate when an employee logged in then put this code after log In button or what ever you are using .

Dim cmd1 as oledbcommond cmd1 = New OleDbCommand("SELECT * FROM LOGTIME WHERE timein<>null and timeout<>null and dt='" & Label8.Text & "' and eid='" & txtemid.Text & "' ", cn) dr = cmd1.ExecuteReader() If dr.Read Then MessageBox.Show("Already this Employee ID contains today's attendance,now you can't Log again", "Information On Your ID", MessageBoxButtons.OK, MessageBoxIcon.Information) cmd1.Dispose() cn.Close() Exit Sub End If

更多推荐

是否限制VB.NET一天中的进出时间?

本文发布于:2023-10-24 08:38:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1523463.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:进出   时间   VB   NET

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!