Cannot call methods on real

Résolu
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011 - 3 mai 2011 à 15:44
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011 - 3 mai 2011 à 17:12
Bonjour à tous,

J'ai fait une requete SQL et j'obtiens l'erreur suivante lorsque je fais l'ExecutReader sur ma commande "Cannot call methods on real."

Voici mon code...

ConnString = "Data Source=" & strServer & ";Initial Catalog=TauxEfficacite.mdf;User Id=TauxEfficacite;Password=TauxEfficacite;"

'SQL Staments


SQLStr "SELECT Employes.EmpNo, Operations.OperCode, SaisieDonnees.SDQteProd. SaisieDonnees.SDQteRejet, SaisieDonnees.SDDate FROM (SaisieDonnees INNER JOIN Employes on SaisieDonnees.SDEmpId Employes.EmpID) INNER JOIN Operations on SaisieDonnees.SDOperId = Operations.OperId where SaisieDonnees.SDDate = " & tempDate & ""


SQLConn.ConnectionString = ConnString 'Set the Connection String

SQLConn.Open() 'Open the connection

SQLCmd.Connection = SQLConn 'Sets the Connection to use with the SQL Command

SQLCmd.CommandText = SQLStr 'Sets the SQL String

SQLReader = SQLCmd.ExecuteReader 'Gets Data


En effet SDQteProduite et SDQteRejet sont de type Real...


Ça fait des heures que je cherche et je ne trouve vraiment pas!!!

Pouvez-vous m'aider s.v.p.????
Labon

10 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
3 mai 2011 à 16:01
Salut,

y'a-t-il une erreur de restranscription ?
Dans la requête que tu as écrite il est inscrit texto :
SaisieDonnees.SDQteProd. SaisieDonnees.SDQteRejet
3
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
3 mai 2011 à 16:35
Des données qui match la requête que tu génères, s'entend ;)

Sinon pour le type date, j'avais trouvé cette exemple sur la MSDN ... la KB de Microsoft en prend un coup sur le coin de la tronche ><

et si tu mets datetime ou smalldatetime à la place, le résultat est le même ?

C'est suant de pas pouvoir tester chez moi, si on trouve pas rapidement on va en faire des allers/retours ...
3
biolo24fr Messages postés 87 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 28 mai 2013 1
3 mai 2011 à 15:56
Salut,

Essaye de faire des "cast" ou des "convert" sur ces deux champs mais c'est plutôt du SQL et non du VB.


-----------------------------------------------------------------------------------------------------------
De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent.
0
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011
3 mai 2011 à 16:08
Desolé pour le dérengement les gars, jopop a trouvé l'erreur de syntax.... mais je n'obtiens aucun resultat dans ma requête...

Est-ce pcq ma variable tempDate est de type date et que mon champ dans la BD est de smallDateTime? (avec l'heure à 00:00:00)


Labon
0

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

Posez votre question
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
3 mai 2011 à 16:21
Les dates c'est jamais aisé à manipuler, peu importe le SGBD.
Par contre ne connaissant pas du tout SQL Server je vais avoir du mal à t'aider à trouver la bonne méthode (et j'ai même pas d'instance pour faire des tests).

Allez, on va quand même tenter ^^
Essaie une clause where du genre :
"where CAST(SaisieDonnees.SDDate AS date) = CAST('" & tempDate & "' AS date)" 


Il faut quand même vérifier que ta requête est bien censée ramener des données, qu'on se creuse pas la tête alors qu'il n'y a pas de réel souci ;)
0
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011
3 mai 2011 à 16:26
C'est ce que je venais d'essayer mais j'ai une sqlException : Type Date is not a defined system type.

Et oui j'ai bien des données dans mes tables


Labon
0
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011
3 mai 2011 à 16:40
Je n'ai plus de message d'erreur mais je n'ai aucun resultat....

Je vais essayer d'ajouter manuellement le 00:00:00 à ma variable et je t'en redonne des nouvelles...

Labon
0
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011
3 mai 2011 à 17:02
Merci beaucoup mon ami, ça finit par fonctionner avec :

SQLStr "SELECT Employes.EmpNo, Operations.OperCode, SaisieDonnees.SDQteProd, SaisieDonnees.SDQteRejet, SaisieDonnees.SDDate FROM (SaisieDonnees INNER JOIN Employes on SaisieDonnees.SDEmpId Employes.EmpID) INNER JOIN Operations on SaisieDonnees.SDOperId = Operations.OperId where CAST(SaisieDonnees.SDDate as Datetime) = CAST('" & tempDate & "' AS Datetime)"

à la prochaine

Labon
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
3 mai 2011 à 17:09
Marque ma réponse sur l'erreur de syntaxe, et ta dernière réponse, sur la solution pour le dates, comme "Acceptées". Ainsi les dev qui auront les mêmes soucis que toi verront qu'ils pourront avoir les réponses ici ;)
0
Labon Messages postés 18 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 3 mai 2011
3 mai 2011 à 17:12
c fait!

Merci encore!!!


Labon
0
Rejoignez-nous