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

C# Discussion :

c# et sql (visual studio / sql serveur)


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Points : 46
    Points
    46
    Par défaut c# et sql (visual studio / sql serveur)
    Bonjour,

    Je désire supprimer des informations dans ma base de données avec une interface en c#.

    Je rencontre un probléme, ça ne marche pas ! mon code ne doit pas être correcte et aprés plusieur recherche je n'arrive pas a avancer.

    en c#:
    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
     
    Public void supp(string index)
      if(m_sqlconnexion != null)
      {
         CreerConnection();
         sqlTransaction mytrans = new SqlCommand("dbo.[DEL_ARTICLE]",m_sqlConnection);
         sqlCommande.Transaction = myTrans;
         sqlCommande.CommandType = CommandType.StoredProcedure;
         sqlCommande.Parameters.clear();
     
         SqlParameter sqlParam = sqlCommande.Parameters.Add("@P_indexArticle",SqlDbType.INT);
         sqlParam.Value = index;
         sqlParam.Direction = ParameterDirection.Input;
     
         sqlDataAdapter sqlAdapte = new sqlDataAdapter (sqlCommande);
     
         myTrans.Commit();
         sqlCommande.Dispose();
         FermerConnexion();
      }
      Catch (exception e)
      {
         myTrans.RollBack();
         FermerConnexion();
         MessageBox.show(e.Message);
      }
    }
    en sql:
    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
     
    ALTER PROCEDURE [dbo].[DEL_ARTICLE]
    @P_indexArticle INT
    AS
    BEGIN
     
         DELETE FROM MaTable1
         Where Index1 = @P_indexArticle
     
         DELETE FROM MaTable2
         Where Index2 = @P_indexArticle
     
         DELETE FROM MaTable3
         Where Index3 = @P_indexArticle
     
    END
    Voila.
    Lorsque j'éxécute la procedure en sql en remplassant @P_indexArticle par une valeur, ça delete bien les lignes correspondantes dans mes tables, mais quand j'éxécute mon programme ça ne marche pas. Rien ne se passe (pas de delete et aucun message d'erreur)

    Merci de me dire si vous avez une idée d'ou vien le problème.

    Tchaou !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    1. Tu crées une commande mais tu ne l'exécutes jamais... il faut l'exécuter avec la méthode ExecuteNonQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlCommande.ExecuteNonQuery();
    2. Pourquoi crées-tu un SqlDataAdapter ? Tu n'en as pas besoin, et de toutes façons tu ne l'utilises pas...

  3. #3
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sqlTransaction mytrans = new SqlCommand("dbo.[DEL_ARTICLE]",m_sqlConnection);
         sqlCommande.Transaction = myTrans;
    es-tu sûr de ces lignes????

    Tu affectes un nouvel objet SqlCommand à une déclaration de type SqlTransaction... Je ne sais pas si c'est une erreur de copier/coller mais tu aurais certainement dû avoir une erreur à la compilation!!!

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par sisqo60 Voir le message
    Tu affectes un nouvel objet SqlCommand à une déclaration de type SqlTransaction... Je ne sais pas si c'est une erreur de copier/coller mais tu aurais certainement dû avoir une erreur à la compilation!!!
    De toute manière,le code est plein d'erreur de "casing", (Public pour public, sqlTransaction pour SqlTransaction ), il manque un "{", etc .... Bref, il ne peut pas se compiler.

    De plus :

    Citation Envoyé par chneu87 Voir le message
    Je rencontre un probléme, ça ne marche pas
    "ca ne marche pas" n'est pas un message d'erreur répertorié

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 69
    Points : 65
    Points
    65
    Par défaut
    la commande SQL n'est pas executer .
    Enleve les transaction c'est unitile de toute maniere Une procedure est une transaction par défaut .

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Merci de vos réponse, j'ai enfin réussi à faire ce que je voulais !!

    Pour le "sa marche pas", c'est justement qu'il n'y avais aucun message d'erreur mais que ... ben ... ça marché pas !!

    (désoler pour les erreurs aussi, ce n'était pas un copier coller, c'est peu être pour cela, je ferai attention la prochaine fois)

    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connexion my sql / visual studio 2010 / c++
    Par fridrai dans le forum Administration
    Réponses: 15
    Dernier message: 12/05/2013, 15h23
  2. Syntaxe SQL Visual Studio 2010
    Par parilla77 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 06/04/2012, 16h33
  3. Connexion de données de Visual Studio à SQL Server 2008
    Par rvaouate dans le forum Administration
    Réponses: 0
    Dernier message: 03/03/2011, 11h15
  4. [SQL server 2008] SQL management studio n'apparait pas !
    Par cirtadev dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/07/2009, 11h59

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