Buongiorno ho un DBmysql con all'interno una tabella che contiene dei campi dateTime, ho necessità di sommare i campi e rendere disponibile l'output in tre caselle di testo su un form realizzato in VBnet.
per calcolare la somma utilizzo la seguente query:
Dim StringPresidio As String = "select "
" sec_to_time (sum(time_to_sec(login))) as SommaLogin, " & _
" sec_to_time (sum(time_to_sec(effettivo))) as SommaEffettivo," & _
" sec_to_time (sum(time_to_sec(pausa))) as SommaPausa " & _
" from marcature where datal between '2019-09-01 00:00:00' and '2019-09-30 00:00:00' and idUtente = 248"
La query mi restituisce :
# SommaLogin, SommaEffettivo, SommaPausa
'38:26:11', '33:26:08', '05:00:03'
per visualizzare i dati nelle textbox uso:
Private Sub PresidioTotale()
Dim connessione As New MySqlConnection(connDb)
connessione.Open()
Dim StringPresidio As String = "select " & _
"sec_to_time (sum(time_to_sec(login))) as SommaLogin, " & _
"sec_to_time (sum(time_to_sec(effettivo))) as SommaEffettivo," & _
"sec_to_time (sum(time_to_sec(pausa))) as SommaPausa " & _
" from marcature where datal between '2019-09-01 00:00:00' and '2019-09-30 00:00:00' and idopeasy = " & idOpEasyCall & ""
Dim cmdPresidio As New MySqlCommand(StringPresidio, connessione)
Dim rs As MySqlDataReader = cmdPresidio.ExecuteReader
While rs.Read()
txt_login.Text = Format((rs("SommaLogin")) <<<<<<<<< errore in debug
txt_effettivo.Text = rs("SommaEffettivo")
txt_pausa.Text = rs("SommaPausa")
End While
rs.Close()
connessione.Close()
L'errore in esecuzione è : Cast non valido dal tipo 'TimeSpan' al tipo 'String'.
Potete gentilmente darmi una soluzione?
Grazie
Marcello