Where + Date

SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008 - 29 janv. 2008 à 01:43
SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008 - 30 janv. 2008 à 13:28
Bonjour,

j'ai un problème que je n'arrive pas à résoudre, d'où ma question.
Je suis en Vb 2005.net et j'ai une base donnée sous sql serveur express 2005.

Mon code ci dessus est d'afficher un champ de la requete dans un msgbox en fonction de la selection dans une listbox.

Pour infos:
le champ code Prix dans la BD est de type Datetime
la variable DateValCodePrix est de type Datetime (appel de fonction avec passage de paramètre)

Mon code:

Try

'déclaration de la connexion
dim SqlConnexion1
As SqlConnection =
New SqlConnection(
"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BD_BN3F_SKi-Wake.mdf;Integrated Security=True;User Instance=True")

Dim MycommandAccesCodePrix
As SqlCommand = SqlConnexion1.CreateCommand()

'Format(DateValCodePrix, "M/d/yyyy H:m:s")
MycommandAccesCodePrix.CommandText "SELECT T_Prix.[Code Prix], T_Prix.Prix, T_Prix.[Code Categorie_Discipline], T_Categorie_Discipline.Categorie_Discipline, T_Prix.[Code Categorie_Age], T_Categorie_Age.Categorie_Age FROM T_Prix INNER JOIN T_Categorie_Age ON T_Prix.[Code Categorie_Age] T_Categorie_Age.[Code Categorie_Age] INNER JOIN T_Categorie_Discipline ON T_Prix.[Code Categorie_Discipline] = T_Categorie_Discipline.[Code Categorie_Discipline] WHERE (T_Prix.[Code Prix] = #" & DateValCodePrix &
"#)"SqlConnexion1.Open()

Dim myReader
As SqlDataReader = MycommandAccesCodePrix.ExecuteReader()

Do
While myReader.Read()
       MsgBox(myReader.GetDateTime(1).ToString)

Loop
myReader.Close()
SqlConnexion1.Close()

Catch ex
As SqlException
MsgBox(ex.Message)

End
Try

Mon problème est lors de l'execution du programme, j'ai une msgbox avec une erreur de type syntaxe incorrecte de type 01.

J'ai cherché mais pas trouver, pouvez vous m'aider.

Merci pour votre aide.

10 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 janv. 2008 à 07:53
yyyy/mm/dd

(bien, les # commencent a rentrer dans les moeurs)
0
SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008
29 janv. 2008 à 14:28
si j'ai bien compris ton idée, je devrais faire comme ca:
MycommandAccesCodePrix.CommandText "SELECT T_Prix.[Code Prix], T_Prix.Prix, T_Prix.[Code Categorie_Discipline], T_Categorie_Discipline.Categorie_Discipline, T_Prix.[Code Categorie_Age], T_Categorie_Age.Categorie_Age FROM T_Prix INNER JOIN T_Categorie_Age ON T_Prix.[Code Categorie_Age] T_Categorie_Age.[Code Categorie_Age] INNER JOIN T_Categorie_Discipline ON T_Prix.[Code Categorie_Discipline] = T_Categorie_Discipline.[Code Categorie_Discipline] WHERE (T_Prix.[Code Prix] = #" & Format(DateValCodePrix, "yyyy/mm/dd H:m:s") & "#)"

Merci pour votre aide
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 janv. 2008 à 14:43
"YYYY\/MM\/DD HH\:NN\:SS"
0
SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008
29 janv. 2008 à 16:34
bonjour, j'ai mis ceci
la valeur de la variable Datevalcodeprix (type datetime) m'affiche: DateValCodePrix = #1/29/2008 2:56:05 PM#

...... WHERE (T_Prix.[Code Prix] = #"

& Format(DateValCodePrix,
"M\/d\/yyyy h\:m\:ss") &
"#)"

et je recois erreur de syntaxe incorrect 2.

Je suis toujours bloqué, et j'ai utilisé d'autres solutions pour la condition where et toujours erreur syntaxe incorrect 2.

Merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 janv. 2008 à 16:42
et si tu essaye avec le format que je t'ai suggéré, ta requete passe ?
0
SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008
29 janv. 2008 à 17:02
en mettant ceci:


............WHERE (T_Prix.[Code Prix] = #" & Format(DateValCodePrix,
"YYYY\/MM\/DD HH\:NN\:SS") &
"#)"

je reçois erreur de syntaxe incorrect 14

Ca ne fonctionne pas, autres idées?

Merci.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 janv. 2008 à 17:05
nb, c'est un format VB6
a voir a le passer en .net, l'idée restant d'obtenir

2008/1/29 17:03:10
0
SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008
29 janv. 2008 à 22:02
SVP, quelqu'un a une autre solution à me proposer, car la je suis bloqué.

Merci pour votre aide.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 janv. 2008 à 09:01
en passant...
est-ce normal qu'un champ nommé "Code Prix" contiennent en fait une date ???

quel est le type de ce champ ?
0
SPEEDERMENN Messages postés 15 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 25 novembre 2008
30 janv. 2008 à 13:28
type du champ "Code prix": datetime

le champ est type datetime pour faciliter sa gestion et sa maintenance.(numérotion auto pour pratique pour mon cas).

d'autres idées pour mon problème

Merci.
0
Rejoignez-nous