Insérer un NULL dans un int

Lecan Messages postés 5 Date d'inscription mardi 4 mai 2010 Statut Membre Dernière intervention 22 décembre 2010 - 21 déc. 2010 à 22:22
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 22 déc. 2010 à 11:50
Bonjour,

Je n'arrive pas à insérer un NULL dans un int dans ma BDD SQLServer.
J'ai un champs int qui accepte la valeur null. Je voudrais parfois lui insérer la valeur d'un entier mais parfois la valeur null quand j'ai rien à y mettre car ce champs n'est pas obligatoire. Le champ en question est PERIO_ID. L'erreur que j'ai c'est "le paramètre @PerioID n'a pas été spécifié"
Merci

int? a = null;

FonctionsSGBD.ExecQuery("INSERT INTO LIGNE_DEPENSE (PERIO_ID,LIB_ID,TYP_ID,DEPTOTALE_ID,LGEDEPEN_MONTANT) VALUES (@PerioID,@LibID,@TypID,@DepTotaleID,@Montant)",
                     new ParamProcStock("@PerioID",a),
                     new ParamProcStock("@LibID", Convert.ToInt32(cb_Libelle.SelectedValue.ToString())),
                     new ParamProcStock("@TypID", Convert.ToInt32(cb_Type.SelectedValue.ToString())),
                     new ParamProcStock("@DepTotaleID", Convert.ToInt32(ClsVariables.v_DepTotaleID)),
                     new ParamProcStock("@Montant", v_MontantBis));
A voir également:

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 déc. 2010 à 23:11
Bonjour,

Il faut utiliser DBNull.Value.


/*
coq
CoqBlog
*/
0
Lecan Messages postés 5 Date d'inscription mardi 4 mai 2010 Statut Membre Dernière intervention 22 décembre 2010
22 déc. 2010 à 11:36
Bonjour,

Comment l'utiliser car j'ai essayé mais je n'ai pas réussi.
Dsl mais je suis débutant

Lecan
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
22 déc. 2010 à 11:50
Vu qu'il s'agit d'une API perso je ne sais pas vraiment comment elle fonctionne, mais sur un SqlParameter normal elle s'utilise en la passant simplement en valeur du paramètre comme l'indique la doc de SqlParameter.Value.

Donc peut être quelque chose de ce genre, je répète que je ne connais pas l'API d'où vient la classe "ParamProcStock" donc il serait peut être bon de consulter sa documentation et/ou ses sources :
new ParamProcStock("@PerioID",a??DBNull.Value),



/*
coq
CoqBlog
*/
0
Rejoignez-nous