cs_AC1
Messages postés116Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention25 mars 2010 14 déc. 2005 à 10:36
J'ai fait un essai rapide avec mes données et j'ai eu le même problème que toi.
J'ai travaillé dessus jusqu'à arriver à un résultat
Le problème est dans la déclaration de la procédure stockée.
Si j'utilise un sql identique mais sous forme TEXT au lieu de procédure ça marche.
Je regarde encore un peu au cas où je trouverais le point précis mais déjà si ça peut t'aider.
cs_AC1
Messages postés116Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention25 mars 2010 14 déc. 2005 à 11:04
Ok je l'ai.
Ca marche avec la procédure stockée.
Apparemment le problème viendrait d'une différence dans la déclaration du type de paramètres.
Dans mon cas nvarchar et varchar à tester à 3 endroits la table / la procédure / la déclaration dans le code.
Voici mon code final
cs_AC1
Messages postés116Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention25 mars 2010 14 déc. 2005 à 11:27
Dans le dernier exemple ça marche bien avec une procédure et c'est donc du gain puisqu'elle est réutilisable. Il suffit de vérifier la cohérence de tes types de variables.
Pour scalar, j'imagine que ça doit marcher aussi mais il faut creuser un peu plus.
Là dans l'exemple ça marche avec le reader.
Fais-moi savoir si ça marche avec tes paramètres.
cs_AC1
Messages postés116Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention25 mars 2010 14 déc. 2005 à 11:52
OK
as-tu bien vérifié le type de variable aux 3 endroits ?
as-tu essayé avec le reader ?
si ça ne marche pas essaye avec le sql text pour mettre le doigt sur ce qui ne marche pas.
tu reviendras après avec la stockée.
As-tu un debugger comme celui visual studio ?
Essai avec une requête texte simple paramètre écrit en dur du type sit_key='BZ' et vois si ça marche. Si oui retourne vers ta solution 1 marche à la fois, d'abord le paramètre en texte etc..
cs_AC1
Messages postés116Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention25 mars 2010 14 déc. 2005 à 12:49
Oui tavaille avec le SQL en direct du genre
strsql="select monchampretour from matable where monchampclé='monparam'"
mycommand.type=commandtype.text
avec ça ça marche à tous les coups. Sinon problème SQL.
Dès que ça marche remonte marche par marche vers ta procédure initiale
AC1
Databases on the Web & on the LAN
cs_elpens
Messages postés260Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention 3 novembre 2007 14 déc. 2005 à 14:03
J'ai peut-etre compris pourquoi cela ne fonctionne pas :
dans ma procedure, ma clause est :
...WHERE Name = @CmpName
Or, @CmpName peut prendre une valeur telle que 'Girod S.A '
------------------------------------------------------------------
J'ai essayer de changer cela sans resultat, g également changé le = en LIKE toujours sans resultat.
Pourtant, lorsque j'execute la commande pur (SELECT cmpID,....), je reçoit correctement l'Id,