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 :

Curseur MySQL en C# avec Visual Studio


Sujet :

C#

  1. #1
    Candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Mars 2019
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Curseur MySQL en C# avec Visual Studio
    Bonjour,

    Voila je suis sur Visual Studio, je débute avec le C# et je veux créer une classe qui me permet de gérer un curseur avec exécution d’une requête type select et gestion du résultat avec passage à la ligne suivante.

    Donc j'ai réussi à connecter ma classe à ma base de donnée phpMyAdmin en MySQL et donc à réaliser certaines requêtes. Mais je n'arrive pas à mettre un curseur. Comme s'il me manquait une bibliothèques ou autre.

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using MySql.Data.MySqlClient;
     
     
     
    namespace ConsoleApp1
    {
        static class Program
        {
            static void Main(string[] args)
            {
              var a = "keren";
                //   Console.WriteLine($" {a} bonsoir");
               // Console.WriteLine("hello" + a + "!");
                // Créer d'un contact à ajouter
                comptable comptable = new comptable();
     
                comptable.id=9998;
                comptable.nom = "Dubois";
                comptable.prenom = "jerome";
                comptable.login = "jdubois";
                comptable.mdp = "jedu";
                comptable.adresse = "52 rue hypolyte Khan";
                comptable.cp = "93200";
                comptable.ville = "Lyon";
                comptable.dateembauche = "1992-02-10";
     
                // Création de l'objet Bdd pour l'intéraction avec la base de donnée MySQL
                Bdd bdd = new Bdd();
                bdd.Addcomptable(comptable);
            }
        }
     
     
     
     
        public class comptable
        {
            public int id { get; set; }
            public string nom { get; set; }
            public string prenom { get; set; }
            public string login { get; set; }
            public string mdp { get; set; }
            public string adresse { get; set; }
            public string cp { get; set; }
            public string ville { get; set; }
            public string dateembauche { get; set; }
     
     
            // Constructeur
            public comptable() { }
        }
     
        public class Bdd
        {
     
            private MySqlConnection connection;
     
            // Constructeur
            public Bdd()
            {
                this.InitConnexion();
            }
     
            // Méthode pour initialiser la connexion
            private void InitConnexion()
            {
                // Création de la chaîne de connexion
                string connectionString = "SERVER=127.0.0.1; DATABASE=gsb_frais; UID=root; PASSWORD=";
                this.connection = new MySqlConnection(connectionString);
            }
     
            // Méthode pour ajouter un contact
            public void Addcomptable(comptable comptable)
            {
                try
                {
                    // Ouverture de la connexion SQL
                    this.connection.Open();
     
                    // Création d'une commande SQL en fonction de l'objet connection
                    MySqlCommand cmd = this.connection.CreateCommand();
     
                 // Requête SQL
                   cmd.CommandText = "INSERT INTO comptable (id, nom, prenom, login, mdp, adresse, cp, ville, dateembauche) VALUES (@id, @nom, @prenom, @login, @mdp, @adresse, @cp, @ville, @dateembauche)";
                    //  cmd.CommandText = "DELETE FROM comptable where comptable.id=  @id AND comptable.nom= @nom AND comptable.prenom= @prenom AND comptable.login= @login AND comptable.mdp= @mdp AND comptable.adresse= @adresse AND comptable.cp= @cp AND comptable.ville= @ville AND comptable.dateembauche= @dateembauche";
                    // cmd.CommandText = " UPDATE comptable SET comptable.id = @id WHERE comptable.nom= @nom ";
     
     
     
                    // utilisation de l'objet contact passé en paramètre
                    cmd.Parameters.AddWithValue("@id", comptable.id);
                    cmd.Parameters.AddWithValue("@nom", comptable.nom);
                    cmd.Parameters.AddWithValue("@prenom", comptable.prenom);
                    cmd.Parameters.AddWithValue("@login", comptable.login);
                    cmd.Parameters.AddWithValue("@mdp", comptable.mdp);
                    cmd.Parameters.AddWithValue("@adresse", comptable.adresse);
                    cmd.Parameters.AddWithValue("@cp", comptable.cp);
                    cmd.Parameters.AddWithValue("@ville", comptable.ville);
                    cmd.Parameters.AddWithValue("@dateembauche", comptable.dateembauche);
     
                    // Exécution de la commande SQL
                    cmd.ExecuteNonQuery();
    donc c'est juste après que j'aimerais mettre un curseur qui me permet de gérer mes résultats...La vérité, je ne sais pas trop comment faire parce que je débute avec Visual Studio et je n'ai jamais utilisé c# avant
    alors si vous pouvez m'orienter vers un cours (ou m'expliquer)
    Merci

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 752
    Points : 5 458
    Points
    5 458
    Par défaut
    De la même manière que tu insère, tu peux lire :
    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
    public IEnumerable<comptable> ListComptables()
    {
        this.connection.Open();
     
        // Création d'une commande SQL en fonction de l'objet connection
        MySqlCommand cmd = this.connection.CreateCommand();
     
        // Requête SQL
        cmd.CommandText = "INSERT id, nom, prenom, login, mdp, adresse, cp, ville, dateembauche FROM comptable";
     
        // utilisation de l'objet contact passé en paramètre
        using (var reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                var item = new comptable();
                item.id = reader.GetInt32(0);
                item.nom = reader.GetString(1);
                item.prenom = reader.GetString(2);
                item.login = reader.GetString(3);
                item.mdp = reader.GetString(4);
                item.adresse = reader.GetString(5);
                item.cp = reader.GetString(6);
                item.ville = reader.GetString(7);
     
                yield return item;
            }
     
     
        }
     
        // Fermeture de la connexion
        this.connection.Close();
    }

  3. #3
    Candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Mars 2019
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut,
    merci pour ton aide
    mais la ya pas de curseur ?

  4. #4
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Citation Envoyé par popo Voir le message
    De la même manière que tu insère, tu peux lire :
    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
    public IEnumerable<comptable> ListComptables()
    {
        this.connection.Open();
     
        // Création d'une commande SQL en fonction de l'objet connection
        MySqlCommand cmd = this.connection.CreateCommand();
     
        // Requête SQL
        cmd.CommandText = "INSERT id, nom, prenom, login, mdp, adresse, cp, ville, dateembauche FROM comptable";
     
        // utilisation de l'objet contact passé en paramètre
        using (var reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                var item = new comptable();
                item.id = reader.GetInt32(0);
                item.nom = reader.GetString(1);
                item.prenom = reader.GetString(2);
                item.login = reader.GetString(3);
                item.mdp = reader.GetString(4);
                item.adresse = reader.GetString(5);
                item.cp = reader.GetString(6);
                item.ville = reader.GetString(7);
     
                yield return item;
            }
     
     
        }
     
        // Fermeture de la connexion
        this.connection.Close();
    }
    Petite coquille : INSERT à remplacer par SELECT dans la requête.

  5. #5
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Citation Envoyé par Kerenhas Voir le message
    Salut,
    merci pour ton aide
    mais la ya pas de curseur ?
    Ça dépend de ce que tu appelles un curseur. Ce que popo te propose s'utilise dans un parcours énumérant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach(var comptable in maBdd.ListComptables())
    {
        Console.WriteLine($"{comptable.id}: {comptable.prenom} {comptable.nom}");
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/04/2011, 09h06
  2. [VB.NET] Création de control avec visual studio
    Par HULK dans le forum Windows Forms
    Réponses: 6
    Dernier message: 01/08/2007, 18h06
  3. probleme de link avec visual studio .net 2003
    Par kamal101 dans le forum MFC
    Réponses: 9
    Dernier message: 28/03/2005, 21h44
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33

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