Bonjour à tous,

Dans le cadre de ma période en entreprise, je rencontre une difficulté que je n'arriva pas à lever.
Je m'explique : Pour un développement concernant la gestion de Licenciés dans un club, j'ai les tables suivantes :LICENCIE, ADRESSE, TYPE ADRESSE (ex: Père,Mère,Parents,....) et une table HABITE constitué de ID_ADRESSE et NUMERO_LICENCE.
qui sont les clés primaires des tables ADRESSE et LICENCIE
Il est admis qu'un licencié puissent avoir 2 adresses (cas de séparation des parents,..), donc quand je créé une adresse pour un licencié, j’insère cette adresse dans la table ADRESSE et je récupéré l'ID_ADRESSE créé, ensuite j'insère cet ID_ADRESSE + NUMERO_LICENCE dans la table HABITE.

OR dans le cas de 2 adresses pour le même licencié, il faut donc implémenter la table HABITE avec un second couple ID_ADRESSE et NUMERO_LICENCE, or quand je le fais à la main via le mysql WOrkBench, ça fonctionne.
J'ai donc créé une procédure stockée pour cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CREATE DEFINER=`root`@`localhost` PROCEDURE `ps_Add_Licence_Habite_Adresse`(IN idAdresse int(2), IN numeroLicence CHAR(14))
BEGIN
insert INTO habite (ID_ADRESSE,NUMERO_LICENCE) VALUES (idAdresse, numeroLicence);
END
quand je l'appelle sous My sql workbench avec les paramètres, cela fonctionne aussi.

Par coontre, quand je souhaite utiliser cette procédure dans mon code C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public void Ajouter_Licence_Habite_Adresse(int IdAdresse, string numeroLicence)
        {  
            sqlCde.CommandText = "ps_Add_Licence_Habite_Adresse";
            sqlCde.CommandType = CommandType.StoredProcedure;
            sqlCde.Parameters.AddWithValue("@idAdresse", IdAdresse);
            sqlCde.Parameters["@idAdresse"].Direction = ParameterDirection.Input;
            sqlCde.Parameters.AddWithValue("@numeroLicence", numeroLicence);
            sqlCde.Parameters["@numeroLicence"].Direction = ParameterDirection.Input;
            sqlCde.ExecuteNonQuery();
, cela ne fonctionne plus et j'ai un message d'erreur :
Nom : Capture d'écran 2015-06-16 14.48.16.png
Affichages : 452
Taille : 31,5 Ko

Je ne comprends pas pourquoi, cela ne pose pas de souci quand j'insère lesdits champs à la main ou via en appelant la procédure stockée. Je n'ai pas trouvé la solution pour réussir cette insertion depuis mon code C#.

Si vous avez des suggestions, je suis preneur.

Merci d'avance,

Cordialement,

Mac Chouffe