Problème avec des dates dans une requête
Bonjour amis informaticien (:
Voilà mon problème j'ai une requête qui s'éffectue très bien sans le BETWEEN pour la date.
Donc je sais qu'avant il n'y a pas de problème et j'ai essayer 15000 modif pour trouver l’erreur, toujours sans succès...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Private Sub Calcul_Click(sender As System.Object, e As System.EventArgs) Handles Calcul.Click
Dim date_select As String = Cb_solde.Text
Dim temps_total As Double = 1
Dim entitez As String
Dim date_actu As Date
TextBox1.Text = ""
date_actu = DateTime.Now.Date.ToString("yyyy-MM-dd")
entitez = CStr(CType(Cbbox_choientite.SelectedItem, ListItem).Value)
If Not date_select = "" Then
Dim resultSQL9 As DataView = Remplir_entite_BDD(
"SELECT COALESCE(SUM(TT.actiontime / 60), 0) AS temp_total " & _
"FROM glpi_tickettasks AS TT " & _
"INNER JOIN glpi_tickets AS T ON T.id = TT.tickets_id " & _
"WHERE T.entities_id = '" & entitez & "' " & _
"AND T.date BETWEEN '" & date_select & "' AND '" & date_actu & "' ")
For Each rst4 As DataRowView In resultSQL9
temps_total = rst4("temp_total")
Next
TextBox1.Text = temps_total
Else
Exit Sub
End If
End Sub |
Voilà le résultat de la requête :
Code:
1 2 3 4 5 6
| "SELECT COALESCE(SUM(TT.actiontime / 60), 0) AS temp_total
FROM glpi_tickettasks AS TT
INNER JOIN glpi_tickets AS T ON T.id = TT.tickets_id
WHERE T.entities_id = '54'
AND T.date
BETWEEN '01/10/2015' AND '15/06/2016'" |
Avec le COALESCE qui dit que par défaut la valeur sera 0. Si j'enlève le COALESCE, j'ai une erreur avec ceci "La conversion du type 'DBNull' en type 'Double' n'est pas valide."
Après mainte réflexion je n'y arrive toujours pas... J'ai une piste, c'est que dans ma BDD les dates sont en format 2016-06-15, mais j'ai pourtant bien déclarer mes variables en "yyyy-MM-dd"... Mais on peut voir que ça ne sort pas comme je veux, comment obliger la conversion ou avez-vous vu une autre érreur?
Help pls (:
Edit : Après avoir essayer ceci :"AND T.date BETWEEN DATE_FORMAT('" & date_select & "', '%Y-%m-%d') AND DATE_FORMAT('" & date_actu & "', '%Y-%m-%d') ")
J'ai toujours la même erreur, je pense donc que ce n'est pas le format de la date, mais la syntaxe du WHERE ou du BETWEEN