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

Accès aux données Discussion :

comment Executer une procedure stocké paramétré


Sujet :

Accès aux données

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Points : 71
    Points
    71
    Par défaut comment Executer une procedure stocké paramétré
    Bonjour tous le monde:
    je travail avec sql server 2000 et VB.Net : sous sqlserver je peux créer des procedures stockée parametré mais comment je peux faire appelle a ces procedurespour les executé a partir de vb.net?
    et merci

  2. #2
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    Une bonne méthode est de créer un Instance qui executera toutes tes procédures stockées.. tu lui passe en paramètres tout ce qui va bien.

    Voiçi une manière de le faire en C# --> je te laisserai le retranscrire en VB car je suis pas pro VB:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using System.Collections;
    using com.alcatel.dsipetech.Data.SQL;
     
        public class SqlManager {
     
            #region Attribute
            private static SqlManager _instance = null;
            private static SqlConnection sqlConnection = null; 
            #endregion
     
            #region Constructor
            public SqlManager()
            {
                try
                {
                    sqlConnection = new SqlConnection(new Manager().GetConnectionStringEntire("EPMDB"));
                }
                catch (Exception e)
                {
                    new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(e);
                }
     
            } 
            #endregion
     
            #region Instance
            public static SqlManager Instance
            {
                get
                {
                    if (_instance == null)
                    {
                        try
                        {
                            _instance = new SqlManager();
                        }
                        catch (System.Exception e)
                        {
                            new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(e);
                        }
                    }
                    return _instance;
                }
            } 
            #endregion
     
            #region ExecuteStoredProcedureParamsInArrayList
            //Stored Procedure with parameters (parameters in ArrayList)
            public DataSet ExecuteStoredProcedureParamsInArrayList(string theProcedure, SqlParameter[] tabParam, ArrayList listValue, int nbParam)
            {
     
                #region Attach store Procedure
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = theProcedure;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = sqlConnection; 
                #endregion
     
                #region Parameters
                //Parameters
                for (int i = 0; i < nbParam; i++)
                {
                    tabParam[i].Value = listValue.ToArray().GetValue(i);
                    cmd.Parameters.Add(tabParam[i]);
                } 
                #endregion
     
                #region Define the property of SelectCommand and sqldataAdapter
                //Define properties SelectCommand for the sqldataAdapter
                SqlDataAdapter theSqlDataAdapter = new SqlDataAdapter();
                theSqlDataAdapter.SelectCommand = cmd; 
                #endregion
     
                #region Implement Datset
                //Dataset
                System.Data.DataSet theDataSet = new DataSet(); 
                #endregion
     
                try
                {
                    #region Fill Dataset and Dispose SQL resource
                    theSqlDataAdapter.Fill(theDataSet, "null");
                    theSqlDataAdapter.Dispose(); 
                    #endregion
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(ex);
                }
                catch (Exception ex)
                {
                    new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(ex);
                }
                finally
                {
                    #region Dispose SQL resource if error
                    theSqlDataAdapter.Dispose(); 
                    #endregion
                }
                return theDataSet;
            } 
            #endregion
     
            #endregion
     
        }
    }
    où new Manager().GetConnectionStringEntire("EPMDB") retourne une string qui est la connectionString à ta BDD SQLServer2000 ou autre.


    Ensuite pour l'utiliser par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                    SqlParameter param1 = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 250);
                    SqlParameter param2 = new SqlParameter("@CustomerACRKey", SqlDbType.NVarChar, 50);
                    SqlParameter param3 = new SqlParameter("@CountryId", SqlDbType.Int, 4);
                    SqlParameter[] sqlParams = new SqlParameter[3] { param1, param2, param3 };
                    String value1 = "toto";
                    String value2 = "totoKey";
                    int value3 = 6;
                    ArrayList myValuesList = new ArrayList();
                    myValuesList.Add(value1);
                    myValuesList.Add(value2);
                    myValuesList.Add(value3);
                    int size = 3;
                    SqlManager.Instance.ExecuteStoredProcedureParamsInArrayList("sproc_Customer_create", sqlParams, myValuesList, size);
    Ou sproc_Customer_create est le nom de ta proc stock; @CustomerName, @CustomerACRKey et @CountryId sont les paramètres de ta proc stock; value1 2 et 3 les valeurs correspondant aux paramètres et size le nombre de parametres.

    Si t'as proc stock retourne des valeurs, tu les stocke dans un DataSet facilement utilisable par la suite.

    Je te répond vite fait en vrac mais dis-moi si tu veux d'autres précisions.
    @+
    -> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
    -> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
    -> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes




Discussions similaires

  1. Réponses: 5
    Dernier message: 01/05/2013, 14h29
  2. Executer une procedure stockée avec paramètre
    Par SonnyFab dans le forum ASP.NET
    Réponses: 6
    Dernier message: 11/08/2010, 12h07
  3. Réponses: 3
    Dernier message: 26/01/2006, 10h55
  4. executer une procedure stockée ?
    Par Maddelphi dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/11/2005, 10h05
  5. executer une procedure stockée d'une BD depuis une autre BD
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/08/2005, 16h02

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