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 :

Classe connexion SqlServer c# [Débutant]


Sujet :

C#

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut Classe connexion SqlServer c#
    bonjour ,

    soit le code suivant :

    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
     
    try
                {
                    string con = ConfigurationManager.ConnectionStrings ["connection"].ConnectionString;
                   using (SqlConnection connexion = new SqlConnection())
                    {
                        connexion.ConnectionString = con;
                        connexion.Open();
     
                     //Interaction avec la BDD
     
                         connexion.Close();
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }
    comme vous le savez j'utilise ce code pour la connexion avec la BDD SqlServer, a chaque fois que j'en ai besoin, par conséquent je doit le réecrire a chaque fois.
    est il possible de créer une classe indépendante pour la connexion a la BDD et en faire appel a chaque fois que j'en ai besoin ?

    Merci.

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Bien sur

    Tu peux faire une clase qui contient ta connexion et meme qui encapsule les requete les plus frequentes

  3. #3
    Membre régulier
    Homme Profil pro
    Developpeur
    Inscrit en
    Décembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 111
    Points : 79
    Points
    79
    Par défaut
    Salut j'ai ton code vraiment ça sens du desordre,En faite il faut créer une classe de connection en imoprtant d'abord l'espace de nom qui amène la classe de connection à SQL SERVER
    exemple:
    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
     
    using System.Data.SqlClient;
    Class connectionsql
    {
    SqlConnection con;
    public SqlDataReader rdr;
    SqlCommand cmd;
    Public String req;
    String strcon;
    public connectionsql
    {
     con=new SqlConnection(strcon);
    con.Open();
    }
     Public void ExecuterDataBase()
    {
     cmd=new SqlCommand(req,con);
    rdr=cmd.ExecuteReader();
    }
    public void Deconnection()
    {
    rdr.Dispose();
    con.Dispose();
    }
        //strcon contient la chaîne de connection
    }
    NB:Avec les langages orientés objets il faut créer de Classes,pour une bonne maintenance du programme.

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut
    bonsoir,

    merci pour vos réponse rapides, qui m'ont beaucoup aidé.
    au fait, j'ai réussi a créer la classe comma vous me l'avez indiqué, mais en la modifiant quelque peut on rajoutant quelque méthodes notamment pour les requêtes paramètré comme suit :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     class connectionsql
         {
              SqlConnection con;
              public SqlDataReader rdr;
               SqlCommand  cmd;
              public string req;
              string strcon = ConfigurationManager.ConnectionStrings["connection"].ConnectionString; 
     
     
           public connectionsql()
            {
               con=new SqlConnection(strcon);
               con.Open();
               cmd = new SqlCommand();
            }
     
           public void CreateReq()
           {
               cmd.CommandText = req;
               cmd.Connection = con;
           }
     
           public void AddParametre(string parametre, SqlDbType sqlDbType, object value)
           {
               cmd.Parameters.Add(parametre, sqlDbType);
               cmd.Parameters[parametre].Value = value;
           }
     
           public void ExecuteNonQuery()
           {
               cmd.ExecuteNonQuery();
           }
     
           public void ExecuteReader()
            {
              rdr=cmd.ExecuteReader();
            }
     
           public SqlCommand returnCmd()
           {
               return cmd;
           }
     
           public void Deconnection()
           {
               cmd.Dispose();
               rdr.Dispose();
               con.Dispose();
            }
        //strcon contient la chaîne de connection
         }
    ça a l'air de bien marché pour le moment, mais si vous avez d'autre suggéstions afin d'amélioré, n'hésitez pas.

    merci encore .

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Je pense que tu oublie de faire un close de ta connexion

  6. #6
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut
    bonjour ,

    merci olibara pour ta réponse;

    au fait, j'avais mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    con.Dispose(); // con étant la connexion
    mais je vais changer pour : Merci.

  7. #7
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    D'une manière générale, fait en sorte d'être cohérent dans le nommage : utilise soit l'anglais, soit le français.
    Par exemple, la fonction AddParametre contient de l'anglais et du français, ce n'est pas une bonne pratique.

    Pareil pour la casse des lettres, soit cohérent : soit tes méthodes commencent par une majuscule, soit elles commencent par une minuscule.

    D'une manière générale, je te conseille d'être cohérent avec l'ensemble du Framework.NET. C'est-à-dire en anglais et la même casse des lettres pour le nommage des méthodes, paramètres,...
    Ces conventions améliorent la lisibilité de ton code et donc sa maintenabilité.

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

Discussions similaires

  1. Problème de connexion SqlServer avec JNDI
    Par s.lakhlifi dans le forum JDBC
    Réponses: 5
    Dernier message: 09/06/2006, 13h28
  2. L'utilisateur n'est pas asoocié à une connexion SQLServer...
    Par NotANumber dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/01/2006, 15h27
  3. comment faire la connexion (SQLServer) avec server MSDE(LAN)
    Par BRAHIMI MOUSSA dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2006, 13h45
  4. Réponses: 6
    Dernier message: 15/05/2005, 14h11

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