begin process at 2012 05 28 10:59:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

SQL Server

 > 

Procédure stockée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Procédure stockée

jeudi 18 mai 2006 à 09:34:05 | Procédure stockée

KC62

Bonjour à tous,

voila deux jours que je galère sur un problème de procédure stockée ...
Je cherche a récupérer l'identifiant du contact crée. Cela paraissait simple avec une variable de retour dans la procédure stockée. Mais voila, Mon code C# me renvoie une erreur du genre :
"Trop de paramètres pour la procédure ou fonction appelé."

Voici mon code :
[code]
public int ExecProc(string Proc, ArrayList Parametres,  ArrayList Value)
        {
        SqlParameter MyParam;
            int Retour=0;
            if (Parametres.Count == Value.Count)
            {
                try
                {
                    Connecter();
                    _SqlCmd.CommandText = Proc;
                    _SqlCmd.CommandType = CommandType.StoredProcedure;
                    MyParam= new SqlParameter("@Retour", SqlDbType.Int);
                    MyParam.Direction = ParameterDirection.Output;
                    _SqlCmd.Parameters.Add(MyParam);
                    for(int i=0;i<Parametres.Count;i++)
                    {
                        string TEst2 = Parametres[i].ToString();
                        MyParam = new SqlParameter(Parametres[i].ToString(),SqlDbType.Char);
                        MyParam.Value = Value[i].ToString();
                        _SqlCmd.Parameters.Add(MyParam);
                    }

                    _SqlCmd.ExecuteNonQuery();
                   
                    Retour = int.Parse(_SqlCmd.Parameters["@Retour"].Value.ToString());
                    Deconnecter();
                    return Retour;
                }catch(Exception Err){
                    string test = Err.Message.ToString();
                    return -1;
                }
            }else{return -2;}
        }

[/Code]

et voici ma procédure stockée :

[code]
CREATE PROCEDURE [dbo].[Cont_Insert]
(
@Retour int=0 OUTPUT,
@Nom char(50),
@Prenom char(50),
@Societe char(50),
@Email char(50),
@Tel1 char(50),
@Tel2 char(50),
@MDP char(50),
@Etat char(10),
@DateInscription char(20)
)
AS

DECLARE @Etat1 int
DECLARE @DateInscription1 Datetime


INSERT INTO T_CONTACT
    (Cont_nom,Cont_prenom,Cont_societe,Cont_Email,Cont_Tel1,Cont_Tel2,Cont_MDP,Cont_New,Cont_DateInscription)
    VALUES
    (@Nom, @Prenom, @Societe, @Email, @Tel1, @Tel2, @MDP, @Etat1, @DateInscription1)

SELECT @@IDENTITY
set @Retour=@@IDENTITY
GO

[/Code]

Si vous avez une idée, ou une solution a ce problème je vous remercie d'avance.

KC62

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
jeudi 18 mai 2006 à 09:38:51 | Re : Procédure stockée

jesusonline

Membre Club Administrateur CodeS-SourceS
D'aprés l'erreur en lisant trés rapidement le code 


                    for(int i=0;i<Parametres.Count - 1;i++)
                    {
                        string TEst2 = Parametres[i].ToString();
                        MyParam = new SqlParameter(Parametres[i].ToString(),SqlDbType.Char);
                        MyParam.Value = Value[i].ToString();
                        _SqlCmd.Parameters.Add(MyParam);
                    }



Cyril - MVS - MCP
jeudi 18 mai 2006 à 09:53:46 | Re : Procédure stockée

KC62


Merci jesusonline.

Helas non l'erreur ne vient pas deux la.
Mes paramètres sont bon.

Si je retire le paramètre @Retour, il me le réclame, Si je le mets, il signale qu'il y a trop de paramètres..

J'avoue ne rien comprendre est tous les tests que j'ai pu réalisé me ramène a ce message ...



On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
jeudi 18 mai 2006 à 10:06:55 | Re : Procédure stockée

KC62

Réponse acceptée !
Désolé mais je viens de trouver une solution :
je la mets pour information
j'utilise la fonction _SqlCmd.ExecuteScalar()
Qui me renvoie la premiere cellule (1er ligne, 1er colonne) contenu dans le select final de ma procédure.

Merci à jesusonline pour son aide.

KC62

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...


Cette discussion est classée dans : char, procédure, retour, cont, myparam


Répondre à ce message

Sujets en rapport avec ce message

SqlDataSource et procédure stockée, retour d'une valeur [ par Max207 ] Bonjour à tous!Dans le cadre de mon stage en ASP.NET & C#, je dois utiliser des procédures dans la base de donnée pour mon application. Je tente de fa Comment récupérer le retour d'une procédure stockée [ par Romain_cim ] Bonjour,Je développe en ASP avec une base de donnée DB2 qui comporte une procédure stockée. Cette procédure stockée incrémente une valeur dans une tab asp:SqlDataSource + InsertParameters + valeur de retour (procédures stockées) [ par cfeltzsni ] Bonjour, j'utilise dans un formulaire aspx un datasource qui est lié à une procédure stockée. Cette procédure stockée ajoute un élément à une table, e TreeView : retour à la ligne du texte [ par CyrilTitard ] BonjourAfin de limiter la largeur d'un TreeView à un espace défini, je souhaiterai savoir comment instaurer automatiquement un retour à la ligne du te Bouton retour du navigateur. [ par gbourgeois0019 ] Bonjour à tous,Je voulais savoir s'il y a un moyen de savoir dans la fonction Page_Load, si la page est issue du bouton "Back" du navigateur.MerciGuil passage de paramètre avec simple quote pour procédure stockée [ par juju 92 ] Bonjour, j'essaye déspérément de récupérer un champ de formulaire de type text qui peut contenir des simples quotes. Voici le principe: 1) je récupère Touche Entrée dans une webForm [ par ced038 ] Bonjour,J'ai une question bête !!J'ai une page web avec des zones de recherche (textbox et dropDownlist), un bouton Rechercher, un bouton Retour et un Appel d'une procedure [ par deathsurfer ] Bonjour à tous et merci a cyril d'avoir répondu à mon post précédent d'une manière très pertinente!J'ai créé une procédure publique (bien sûr!) dans A insertion des données [ par caudette ] bonjour,je cherche à l'aide d'une procédure stockée d'inserer des données dans ma table appels voici ma procéduré stockée:ALTER PROCEDURE dbo.SP_INSER Construction d'un gridview à partir d'une procédure stockée renvoyant plusieurs datatable [ par josy972 ] Bonjour Je travaille actuellement sur des gridview construit grâce à des procédures stockées. Dans le cas où la procédure stockée est juste un simple


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,786 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales