Besoin d'aide sur une requete SQL via ODBC [Résolu]

Messages postés
64
Date d'inscription
dimanche 24 juillet 2005
Statut
Membre
Dernière intervention
29 septembre 2014
- - Dernière réponse : chris_brabant
Messages postés
64
Date d'inscription
dimanche 24 juillet 2005
Statut
Membre
Dernière intervention
29 septembre 2014
- 23 janv. 2006 à 18:59
Bonjour
en VB.NET, comment faire une requete via ODBC, pour tester si une date est située entre deux autres dates ? Je m'explique :

Dim borne_sup, borne_inf As DateTime
............

odbc_cmd.CommandText = "SELECT * FROM table ttt" _
+ " WHERE ttt.maDate <= ?" _
+ " AND ttt.maDate >= ? ;"

odbc_cmd.Parameters.Add("@maDate", Odbc.Date)
odbc_cmd.Parameters("@maDate").Value= borne_sup
odbc_cmd.Parameters("@maDate").Value= borne_inf

Ca ne peut pas marcher, car les deux affectations successives s'écrasent l'une l'autre.
Comment spécifier deux valeurs différentes pour le champ maDate ?

Le problème est le même si on veut utiliser l'opérateur BETWEEN.

Chris
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
64
Date d'inscription
dimanche 24 juillet 2005
Statut
Membre
Dernière intervention
29 septembre 2014
3
Merci
J'ai trouvé tout seul comme un grand !


Dim borne_sup, borne_inf As DateTime
Dim myreader ad OdbcDataReader
Dim odbc_param1, odbc_param2 as OdbcParameter
............

odbc_cmd.CommandText = "SELECT * FROM table ttt" _
+ " WHERE ttt.maDate <= ?" _
+ " AND ttt.maDate >= ? ;"

odbc_param1=odbc_cmd.Parameters.Add("@maDate", Odbc.Date)
odbc_param2=odbc_cmd.Parameters.Add("@maDate", Odbc.Date)
odbc_param1.Value= borne_sup
odbc_param2.Value= borne_inf

myreader=odbc_cmd.ExecuteReader()

etc.....

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
2
0
Merci
Garde ton opérateur BETWEEN et réessaie ta requête en reformatant tes dates avant (elle doivent être en format US)

Utilise cette fonction pour la conversion:

Function MakeUSDate(
ByVal dDate
As
Object)



If
Not IsDate(dDate)
Then
Exit
Function


MakeUSDate = "#" & Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) & "#"



End
Function