IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

executer une procédure avec une sorte de liste en param


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut executer une procédure avec une sorte de liste en param
    Bonjour,
    je travail sur sql server et VS2005
    j'ai une procedure que je dois exécuter avec un param assez compliqué pour moi

    la procédure est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @monparam varchar = NULL
     
    select...
    where (@monparam IS NULL or monchamp IN (@monparam))
    le problème c'est que ce param est une sorte de liste (1, 65, 566, 200)

    et j'y arrive pas

    je précise que je travail avec c#

    si quelqu'un a une idée svp

    merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Bonjour,

    Il existe plusieurs possibilités, cela dépendra de la version de SQL Server utilisée :
    1. Celle qui marche tout le temps, il faut créer une fonction SQL Server qui va splitter ta chaîne de caractère pour retourner une "table" sur laquelle tu pourras faire un IN()
    2. Si tu utilises SQL Server 2008, tu as la possibilité de créer un type "table" dans ta base de données, tu auras ensuite la possibilité de fournir des listes en paramètres. Va faire un tour ici pour voir comment ça marche

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    merci pour votre réponse
    non je n'est que sql 2005 sous la main

    je crois qu'il y a problème plutot avec c# quand je met directement dans la procédure (22,23,56) elle est bien exécutée


    voila le message que j'ai a chaque fois:

    System.Data.SqlClient.SqlException: Échec de la conversion de la valeur varchar « 200,201 » en type de données int.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Peut-on voir le code d'ajout du paramètre à la commande ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    finalement je suis passsé par une table intermediaire que je remplie et je supprime a chaque fois, mais c'est loin d'être la solution idéale.
    si vous avez une solution a me proposer je suis preneur
    merci

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 41
    Points : 59
    Points
    59
    Par défaut
    Bonjour.

    Tu peux transposer ta liste d'éléments sous forme xml et la passer en paramètre à ta procédure. Tu pourras ainsi la parser.
    Voici un exemple dans ce lien http://weblogs.asp.net/jgalloway/arc...arameters.aspx

    En espérant que cela peut t'aider.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Cyrius95 Voir le message
    Bonjour.

    Tu peux transposer ta liste d'éléments sous forme xml et la passer en paramètre à ta procédure. Tu pourras ainsi la parser.
    Voici un exemple dans ce lien http://weblogs.asp.net/jgalloway/arc...arameters.aspx

    En espérant que cela peut t'aider.
    merci beaucoup cyrius je crois bien que c'est ce qui me faut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. Réponses: 6
    Dernier message: 30/08/2007, 16h47
  5. [SS2K5] : Peupler une CTE avec une procédure stockée
    Par jeff37 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/03/2007, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo