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

ASP.NET Discussion :

[C# 2.0] Recuperer valeur de retour a partir d'une procedure stockée


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de wodel
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Points : 104
    Points
    104
    Par défaut [C# 2.0] Recuperer valeur de retour a partir d'une procedure stockée
    Salut,

    J'ai une procedure stocké dans ma base de donnée qui me rend un entier dont voici le code:
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    create procedure GetNextPkValue @tableID nvarchar(50),@NewPKval int = -1
    AS Set nocount on
    
    begin transaction
    
    -- get the current value of the id and place it in a temporary var
    declare @CurrPKval int
    select @CurrPKval = pkValue
    from PKtable 
    where tableName = @tableID
    
    -- increment the current val
    update PKtable
    set pkValue = pkValue + 1
    where tableName = @tableID
    
    if @@error <> 0 goto ErrorHandler
    
    -- get a copy of the value just updated
    
    select @NewPKval = pkValue
    from PKtable
    where tableName = @tableID
    
    -- test if update worked and return new value or error (-1
    
    commit transaction
    begin
    	select pkValue from PKtable where tableName = @tableID	
    end
    return @CurrPKval
    
    ErrorHandler:
    rollback transaction
    return -1
    quand je l'execute dans SQL Server Management ça marche trés bien j'obtient la valeur de retour

    j'aimerai savoir comment la récuperer a partir de mon code....

    j'ai essayé ceci:
    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
    public static int GetNextKey()
    {
    using (SqlConnection cnn = new SqlConnection(Common.GetConnectionString("CongreS")))
            {
    
                using (SqlCommand cmd = new SqlCommand())
                {
                    cnn.Open();
                    cmd.CommandText = "GetNextPkValue";
                    cmd.CommandType = CommandType.StoredProcedure;
    
                    SqlParameter param;
    
                    param = cmd.Parameters.Add("@CurrPKval", SqlDbType.Int);
                    param.Direction = ParameterDirection.ReturnValue;              
                    
                    cmd.ExecuteNonQuery();
                    int current = Convert.ToInt32(param.Value);
    
                    return current;
    
                }
            }
    }
    mais j'obtient l'exception suivante:

    ExecuteNonQuery Connection property has not been initialized

    et merci d'avance.....................
    Simbad le Marin

    Core i5 6500 / 32Go RAM / GTX 1060 / HDD 1To Fedora 29

  2. #2
    Membre régulier Avatar de wodel
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Points : 104
    Points
    104
    Par défaut
    Salut c bon ça marche, j'avait qlq erreurs dans le code de ma methode.........

    voila la correction:
    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
    26
    27
    28
    29
    30
    31
    32
    public static int GetNextValue()
    {
            //avoir la prochaine clé
            using (SqlConnection cnn = new SqlConnection(Common.GetConnectionString("CongreS")))
            {
    
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = cnn;
                    cnn.Open();
                    cmd.CommandText = "GetNextPkValue";
                    cmd.CommandType = CommandType.StoredProcedure;
    
                    SqlParameter param;
    
                    param = cmd.Parameters.Add("@tableID", SqlDbType.NVarChar,50);
                    param.Direction = ParameterDirection.Input;
                    param.Value = "Person";
    
                    param = cmd.Parameters.Add("@CurrPKval", SqlDbType.Int);
                    param.Direction = ParameterDirection.ReturnValue;
    
                    cmd.ExecuteNonQuery();
    
                    int current = (int)param.Value;
                    
                    return current;
    
                }
            }
        }
    les lignes en bleus manquaient dans mon code............

    merci
    Simbad le Marin

    Core i5 6500 / 32Go RAM / GTX 1060 / HDD 1To Fedora 29

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

Discussions similaires

  1. [Batch] Recuperer valeur de retour d'un script vbs ou js
    Par hannibal.76 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 20/12/2012, 16h54
  2. Réponses: 0
    Dernier message: 20/06/2009, 13h37
  3. Valeur de retour d'une procedure stockée
    Par sessime dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/11/2007, 07h52
  4. Réponses: 2
    Dernier message: 07/08/2007, 19h48
  5. Recuperation valeur de retour DELETE
    Par Scowl dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/04/2007, 15h21

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