Quel est le role de executenonquery en c#? [Résolu]

Messages postés
1
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
12 mars 2010
- - Dernière réponse : nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
- 6 août 2009 à 13:23
Salut
je suis entrain de créer mon premier programme avec c#,je suis encore débutant je rencontre quelques problèmes au niveau des méthodes d'ajout et de mise à jour en général relatif à une classe
public bool Ajouter()
        {

            //Déclaration de la variable SqlCommand

            SqlCommand Cmd = new SqlCommand();

            try
            {

                {

                    //Affectation des paramètres de la variable SqlCommand

                    Cmd.CommandType = CommandType.Text;

                    Cmd.Connection = ConnectionBaseDonnes.Cn;
                    //Exécution de la requète Ajouter

                    Cmd.CommandText = "INSERT INTO [dbo].[BON_COMMANDE]([num_bc], [cod_clt], [date_bc],[cod_art]) VALUES ('" + numerobc + "', '" + codeclt + "', '" + datebc + "', '" + codearticle + "')";

                    if (Cmd.ExecuteNonQuery)
                    {

                        return true;

                    }

                }

            }

            catch (Exception ex)
            {

                System.Console.WriteLine(ex.Message);

                return false;

            }

            finally
            {

            }


Après l'exécution voici il me génère ces erreurs
Erreur 1 The name 'CommandType' does not exist in the current context D:\Gestion de facturation\code\GCom\Service\Service\clboncommande.cs 91 39 Service
Erreur 2 'Service.ConnectionBaseDonnes' does not contain a definition for 'Cn' D:\Gestion de facturation\code\GCom\Service\Service\clboncommande.cs 93 59 Service
Erreur 3 Cannot convert method group 'ExecuteNonQuery' to non-delegate type 'bool'. Did you intend to invoke the method? D:\Gestion de facturation\code\GCom\Service\Service\clboncommande.cs 98 25 Service


Merci d'avance
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22
3
Merci
Salut,

Vas faire un tour du coté de site ou sur les coachs MSDN pour comprendre les principes d'ADO.

ExecuteNonQuery permet de faire un Update, Insert, Delete en base
ou procédure stockée.
et retourne un entier qui correspond au nombre de lignes impactées .

attention -1 dans le cas d'annulation ou d'une procédure stockée.

Cf lien

Donc en général on ne teste pas le retour de cette instruction.
Car elle est mise dans un bloc try catch

NB : utilise si possible les requetes paramétrées.

Bon dev.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault