2010-08-20 5 views
0

Je rencontre des problèmes pour obtenir les résultats d'une commande OLEDbCommand sur une base de données MS Access. Voici ma commande:Paramètre de chaîne de requête MS Access DB Problème

SELECT START_DATE 
FROM tblVisits 
WHERE LocProj_IS_NUMBER = @projId 
AND LocSTATN_IS_NUMBER = @statnId 
AND LocSTATN_ORG_ID = @orgId 
AND LocProj_ORG_ID = @orgId 

Si j'appelle cela en utilisant des paramètres, je reçois aucun résultat, mais si je remplace @orgId avec « Guln » puis-je obtenir exactement ce que je pense. Par programme, j'obtiens la valeur @orgId de la propriété SelectedValue d'un DropDownList. Je suis déconcerté parce que cette approche exacte fonctionne dans une requête à d'autres tables dans la même base de données.

Des idées?

Répondre

0

Alors, voici ce qui a fonctionné. J'ai remplacé tous les noms de paramètres par des points d'interrogation (thanks to this post) Aucune idée de pourquoi mes requêtes précédentes fonctionnaient sans problème. Je devine qu'essayer de référencer le même paramètre deux fois était le problème principal.

+1

Vous êtes nouveau ici, donc juste un rappel au Règlement: même si vous avez répondu à votre propre question, il est parfaitement acceptable de marquer votre propre réponse comme Acceptée. Si vous ne faites pas une réponse acceptée, la question continuera à attirer les gens qui veulent aider parce qu'ils croient qu'aucune réponse n'a été trouvée. – Cyberherbalist

+0

Gotcha, merci de regarder dehors! –

0

avez-vous besoin de délimiter vos valeurs de paramètre par des guillemets?

AND LocSTATN_ORG_ID = "'" + @orgId + "'" 
AND LocProj_ORG_ID = "'" + @orgId + "'" 
+0

juste essayé cela. pas de dé. C'est la première fois que j'interroge une base de données d'accès, et que je ne l'ai pas créée, j'ai du mal à comprendre les caprices du SQL pour accéder à la traduction ... –

+0

pouvez-vous interroger la base de données Access pour vérifier la syntaxe? De plus, quels sont les types de données pour LocSTATN_ORG_ID et LocProj_ORG_ID? – Beth