Hola a todos,
Estoy creando un Servicio de Windows donde cada cierto tiempo reviso los registros que hay en una Base de Datos SQL, la consulta T-SQL me devuelve entre otras cosas el Path de un archivo, el cual debo ejecutar cuando una Hora (tambien devuelta en la consulta) sea igual a la actual.
Ahora el problema que tengo es que no me sale la validacion de la hora...por ejemplo:
La hora guardada en la Base de Datos viene con el formato:"hh:mm:ss", y la tengo que validar entonces con la hora actual, pero si el evento ELAPSED se ejecuto antes o despues de la hora guardada en la DB, pues esto me va a fallar, he intentando varias validaciones pero ninguna me resuelve.
Abajo esta el codigo en cuestion:
Código:
Dim t1 as New Timer
Protected Overrides Sub OnStart(ByVal args() As String)
t1.Interval = 200000
t1.Enabled = True
End Sub
Private Sub t1_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles t1.Elapsed
Dim selectCmd As String = "SELECT FilePath, FileDate FROM Calendar"
Dim sqlcmd As New SqlCommand(selectCmd, sqlCn)
Dim sqlrdr As SqlDataReader = sqlcmd.ExecuteReader
Dim fPath As String = ""
Dim fTime As String = ""
Try
sqlCn.Open()
Do While sqlrdr.Read
fPath = sqlrdr.GetString(0)
fTime = sqlrdr.GetString(1)
If fTime <= Date.Now.ToLongTimeString.ToString Then
Process.Start(fPath)
End If
Loop
sqlrdr.Close()
Catch ex As ArgumentException
Throw New Exception(ex.Message)
Catch ex As SqlException
Throw New Exception(ex.Message)
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
sqlCn.Close()
End Try
End Sub
Protected Overrides Sub OnStop()
t1.Stop()
End Sub
End Class
Espero me puedan ayudar...
Att
SolSeek.