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 :

Aide + Avis de votre part - connexion BDD toujours valide


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut Aide + Avis de votre part - connexion BDD toujours valide
    Bonjours, ou bonsoirs,

    Je créer un logiciel qui ce connecte à une BDD SQL sur db4free.net.
    Mais je voulais savoir comment faire, si il est connecter ou pas.
    J'ai créer une table 'Connexion' que je met dedans leur id, qu'en suite, je recherche l'id que j'ai récupérer dans la Table User, pour avoir le pseudo email ip etc... .
    Mais le soucis, si la personne a plus d'internet, alors qui n'a pas quitter le logiciel avant, il est toujours dans la table Connexion.
    J'aimerais savoir si il y a un moyen de l'enlever si il est déconnecter.
    Je penser utiliser un serveur avec des Sockets, mais je comprend pas trop comment fonctionne.
    J'ai trouvé déjà une classe toute faite : http://pastebin.com/EtGurYjD
    Mais le problème, c'est que je sais pas comment vérifier etc... si une personne peut m'aider ça serais sympas ^^.
    La classe et dans mon projet dans le logiciel 'Serveur'.

    Merci d'avance, passez une bonne journée.

    EDIT: Je veux que ça soit MultiClient ^^

    NdlM : déplacé depuis le forum C

  2. #2
    Membre chevronné Avatar de fenkys
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 376
    Par défaut
    Bonjour,

    Le code du lien que tu proposes est du C#, ici on est sur le forum C.

    Le site web db4free.net fournis des bases de données MySQL. Tu dois donc utiliser le SDK MySQL. C'est lui qui se charge de toute l'administration bas niveau de la communication avec la base, donc la création du socket, le transfert des données, etc. C'est également lui qui vérifie la connexion.

    Le site de db4free.net te donne d'ailleurs les liens vers la doc MySQL pour les programmeurs:
    - https://dev.mysql.com/
    - http://dev.mysql.com/doc/refman/5.7/en/

    Bonne chance.

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    On est sur le forum C ?

  4. #4
    Membre chevronné Avatar de fenkys
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 376
    Par défaut
    Au temps pour moi.

    Ceci dis, la fin de mon message reste valide. Il existe un connecteur .net pour MySQL.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut
    Merci de vos réponses, je suis entrain de faire les recherches dedans.
    Par contre, j'ai un autre problème d'un autre côté.
    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
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace RPGM_Share_Manager
    {
        public class Games
        {
            public string Nom;
            public string Description;
            public string Auteur;
            public string Version;
            public List<Bitmap> img;
     
            public Games()
            {
                Games[] games = new Games[2];
                //
                games[0].Nom = "Forestia";
                games[0].Auteur = "Spy'";
                games[0].Description = "";
                games[0].Version = "1.2.0";
                //
                games[1].Nom = "Exploreur";
                games[1].Auteur = "Vincent26";
                games[1].Description = "";
                games[1].Version = "2.3.5";
            }
     
        }
    }
    Je veux stocker les jeux dans cette classe, et de récupérer les informations, j'ai fait ça dans ma form Principal dans initialize:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                for (int i = 0; i < 2; i++)
                {
                    ControlGames cg = new ControlGames(g[i].Nom);
                    cg.Dock = DockStyle.Left;
                    this.metroPanel6.Controls.Add(cg);
                }
    J'ai mis avant class void initialize() ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Games[] g = new Games[2];
    Mais j'ai une erreur :
    Une exception non gérée du type 'System.NullReferenceException' s'est produite dans RPGM Share Manager.exe

    Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.
    Voici le Try de l'erreur:
    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
                try
                {
                    MySqlDataReader reader_verify_user = verify_user.ExecuteReader();
                    if (reader_verify_user.HasRows)
                    {
                        while (reader_verify_user.Read())
                        {
                            //u.ID = reader_verify_user.GetInt32(0);
                            //MessageBox.Show(u.ID.ToString());
                            //u.Pseudo = reader_verify_user.GetString(1);
                            //u.Email = reader_verify_user.GetString(3);
                            ID = reader_verify_user.GetInt32(0);
                            username = reader_verify_user.GetString(1);
                            email = reader_verify_user.GetString(3);
                            date_inscrit = reader_verify_user.GetString(4);
                            IP = reader_verify_user.GetString(5);
                        }
                        reader_verify_user.Close();
                        conn.Close();
                        conn.Open();
                        ip_user.ExecuteNonQuery();
                        conn.Close();
                        conn.Open();
                        MySqlCommand verify_user_connexion = new MySqlCommand("SELECT userid FROM Connexion WHERE userid = '" + ID + "'", conn);
                        MySqlDataReader reader_user_connexion = verify_user_connexion.ExecuteReader();
                        if (reader_user_connexion.HasRows)
                        {
                            reader_user_connexion.Close();
                            if (MessageBox.Show("Vous êtes déjà connecter!\nSe reconnecter?", "Server", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                            {
                                MySqlCommand delete_connexion = new MySqlCommand("DELETE FROM Connexion WHERE userid = '" + ID + "'", conn);
                                try
                                {
                                    delete_connexion.ExecuteNonQuery();
                                    conn.Close();
                                }
                                catch (Exception)
                                {
                                    throw;
                                }
                            }
                        }
                        else
                        {
                            reader_user_connexion.Close();
                            conn.Close();
                            conn.Open();
                            MySqlCommand insert_connexion = new MySqlCommand("INSERT INTO Connexion(IP, userid, last_connexion) VALUE('" + GetComputer_InternetIP.ToString() + "', '" + ID + "', '" + DateTime.Now.ToString() + "')", conn);
                            insert_connexion.ExecuteNonQuery();
                            conn.Close();
                            this.Hide();
                            Accueil a = new Accueil(ID, username, email);
                            a.Show();
                        }
                    }
                    else
                    {
                        MessageBox.Show("L'identifiant ou le mot de passe est incorrect!", "Connexion", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    conn.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString());
                    throw;
                }
    Là je sèche complètement !
    Merci en tout cas de votre aide.

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu pourrai peut être faire du pas à pas afin de cibler ou ça génère une exception.

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

Discussions similaires

  1. Connexion bdd - Avis
    Par <romain/> dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 22/11/2011, 10h23
  2. Une aide de votre part à tous
    Par velight dans le forum Général Python
    Réponses: 0
    Dernier message: 06/05/2009, 12h58
  3. Réponses: 2
    Dernier message: 29/07/2008, 21h00
  4. besion d'aide de votre part
    Par una-estrella dans le forum Flash
    Réponses: 2
    Dernier message: 18/01/2007, 13h40
  5. [connexion][CVS] Toujours mon probleme de connexion
    Par Gromitou dans le forum JBuilder
    Réponses: 11
    Dernier message: 07/11/2003, 18h41

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