Salut à tous,
Je viens chercher de l'aide pour un souci de comparaison de dates. J'ai une base MySQL das laquelle je mets des objets en précisant l'heure en utilisant "now". Je veux faire une boucle qui vérifie que le délai entre l'heure enregistrée et l'heure actuelle est inférieur à 6 heures, le même jour.
J'ai deux soucis: récupérer chaque ligne concernée dans ma table MySQL et itérer sur les résultats avec ma comparaison pour changer un flag de vrai à faux (plus de 6h ou pas) à la volée.
Pour me connecter à ma base j'utilise mysql connector.
Ce qui envoie une requete ressemble donc à ça:
les déclarations:
Dim HostConn As New MySqlClient.MySqlConnection("Database=" & serv & ";Data Source=" & database & ";User Id=" & user & "; Password=" & pass) 'Pour une connexion a base de données MySQL
Dim dta As MySql.Data.MySqlClient.MySqlDataAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter 'Data adapter
Dim dts As New DataSet 'Dataset
Dim S1 As MySql.Data.MySqlClient.MySqlDataReader
entre temps j'ouvre la connexion, ect...
la requete:
Dim requete as string = "SELECT XapLastHB FROM xapAlive WHERE Alive = '1'"
dta.SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, HostConn)
S1 = dta.SelectCommand.ExecuteReader
While S1.Read
if S1.HasRows then 'je vérifie si il y a des résultats
ICI JE VOUDRAIS PLACER MON CODE
end if
End While
S1.Close()
Pour le moment, le bout de code qui marche pas ressemble à ça, la variable time étant le temps relevé par la requete:
Dim dt1 As DateTime = Now
Dim ts As TimeSpan = dt1.Subtract(time.ToString)
Le problème est que j'arrive pas faire ligne par ligne, et ne sachant pas à quoi ressemble mon resultat de comparaison, je ne sais pas comment vérifier l'écart de + ou - 6heures... help svp