Besoin d'aide sur une requete SQL via ODBC

Résolu
chris_brabant Messages postés 64 Date d'inscription dimanche 24 juillet 2005 Statut Membre Dernière intervention 29 septembre 2014 - 23 janv. 2006 à 14:55
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

2 réponses

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
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.....
3
Simouss33 Messages postés 85 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 15 février 2006 2
23 janv. 2006 à 17:15
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
0
Rejoignez-nous