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

MS SQL Server Discussion :

Recuperer les données venant d'une procedure c#


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Par défaut Recuperer les données venant d'une procedure c#
    Bonjour à tous,

    Voici mon problème :

    En c# je me suis fait une petite procédure Split :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.SqlTypes;
    using Microsoft.SqlServer.Server;
     
     
    public partial class StoredProcedures
    {
        [Microsoft.SqlServer.Server.SqlProcedure]
        public static void Split(SqlString inputString, SqlString sep, SqlString columnName)
        {
            SqlMetaData[] metaData = new SqlMetaData[1];
            metaData[0] = new SqlMetaData(columnName.Value, SqlDbType.NVarChar, 4000);
            SqlDataRecord record = new SqlDataRecord(metaData);
            SqlContext.Pipe.SendResultsStart(record);
            string[] elements = inputString.Value.Split(sep.Value.ToCharArray());
            foreach (string element in elements)
            {
                string value = element.Trim();
                record.SetString(0, value);
                SqlContext.Pipe.SendResultsRow(record);
            }
            SqlContext.Pipe.SendResultsEnd();
        }
    };
    ajout de la procédure dans sql server :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE PROCEDURE Split @inputString nvarchar(4000), @sep nvarchar(10), @columnName nvarchar(255)
    AS EXTERNAL NAME myProject.[StoredProcedures].Split
    La procédure fonctionne très bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec Split 'toto-tata-tutu', '-', 'column'

    MON PROBLEME
    je voudrais recupérer le tableau affiché par la procédure Split dans une autre procédure pour faire un traitement pour chaque ligne. et là je bloque ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @INPUT_STRING nvarchar(250)
    SET @INPUT_STRING = 'toto-tata-tutu'
    SELECT je sais pas comment de exec Split @INPUT_STRING, '-', 'column'

    Merci pour votre aide.

    Matthieu

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Par défaut
    Bonjour,

    Je crois bien avoir trouvé tout seul comme un grand :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    DECLARE @INPUT_STRING nvarchar(250)
    DECLARE @RESULT table (myCol nvarchar(15))
    SET @INPUT_STRING = 'toto-tata-tutu'
    INSERT INTO @RESULT
    exec Split @INPUT_STRING, '-', 'column'
     
    SELECT * FROM @RESULT
    GO

    Voila


    Merci


    Matt

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

Discussions similaires

  1. [MySQL] recuperer les données mysql dans une balise< select>
    Par le maire dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/06/2014, 20h38
  2. Réponses: 3
    Dernier message: 05/03/2010, 13h31
  3. recuperer les données access dans une listbox
    Par inforlab dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/05/2007, 22h09
  4. Réponses: 6
    Dernier message: 01/08/2006, 16h23
  5. Réponses: 3
    Dernier message: 28/12/2005, 15h29

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