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

MFC Discussion :

Accès à une base de données dans une mfc.


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut Accès à une base de données dans une mfc.
    Bonjour,

    Je suis en train de coder une ihm pour un gardien.

    Cette ihm permet de filmer l'entrée d'un parking, et aussi modifier la liste des personnes autorisée a entrées. Cette liste de personne est stockée dans une base de données MySQL.
    Grâce a l'ihm, je peut donc, ajouter une personne, modifier son profil, ou supprimer la personne. Donc, quand j'ajoute, ou supprime ou modifie, je modifie donc les champs de la base de données.

    Mais, le problème est que je ne sais pas comment faire, j'ai donc plusieurs questions a vous poser:

    1) Comment faire pour se connecter a la base de données ?
    2) Une fois connecté, comment faire pour modifier la base de données (ajouter, modifier ou supprimer) ?


    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Par défaut
    Citation Envoyé par tifil Voir le message
    1) Comment faire pour se connecter a la base de données ?
    2) Une fois connecté, comment faire pour modifier la base de données (ajouter, modifier ou supprimer) ?
    J'en au fait il y a 3 ans, tout se fait en C. Le site de MySQL explique tout. Au pire, tu regardes l'aide php pour les prototypes de fonctions, ils sont quasi identique.

    Pour développer avec l'API C MySQL, il faut installer un "vrai" MySQL, pas de wampserver ou easyphp.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut
    Merci pour ta réponse, je m'en suis donc inspiré, et voici le code qui permet de me connecter:

    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
    void CparkingDlg::OnBnClickedEdition()
    {
     
    	EditionDlg dlg;
    	dlg.DoModal();
    	conn = mysql_init(NULL);
    	if (mysql_real_connect(conn, host, username, password, database, 0, NULL, 0) != NULL)
    	{
    	MessageBox("Connexions réussie");
     
    	}
    	else
    	{
    		MessageBox("Connexion échouée");
     
    	}
     
     
    }
    Donc,quand j'appuis sur le bouton, il se connecter a la base de données, car il m'affiche bien le message box comme quoi il s'est connecté.

    Mais par contre, dans autre fenêtre, j'ai des champs ou je rentre donc les différents textes a saisir, que je veut stocker dans ma base de données. Je créer donc une variable pour chacun des champs. Et quand j'appuis sur le bouton ok de cette fenêtre, ça stocke donc ces valeurs dans la base de données.

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void AjouterDlg::OnBnClickedOk()
    {
    	char query[100];
     
    	UpdateData (TRUE); 
    	sprintf (query, "INSERT INTO 'cadres'('id', 'nom', 'prenom', 'hierarchie') VALUES('1',nom, prenom,hierarchie)");
     
    	OnOK();
    }
    Pour les values, je met le nom des variables que j'ai mis pour les différents champs.

    Mais, quand je compile, et que j'arrive a la fenêtre, et que je saisies les valeurs, et que j'appuis sur ok, ça ne se tocke pas dans la base de données.

    Donc, comment faire pour qu'il stocke dans la base de données ???

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 455

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut
    J'ai réussi, mais maintenant je cherche à supprimer de la table un champ.
    Sur ma fenêtre j'ai un champ de saisie de texte, dont je stocke la valeur dans une variable de type CString.
    Je saisie un nom, et en fonction de ce nom, il doit supprimer le champ correspondant dans la table.


    Voici ma requête sql pour supprimer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf (query2, "DELETE FROM \'cadres\' WHERE prenom=\'%s\'", nom_suppr);
    nom_suppr étant ma variable qui contient la valeur du champ de saisie sur la fenêtre.

    Mais malheureusement, ça n'efface pas.

    Merci d'avance.

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Par défaut
    je ne sais pas si tu as un moyen de tester tes requêtes ou de voir les erreurs qu'elle génèrent.
    Je crois qu'il ne faut pas d'apostrophe autour du nom de la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf (query2, "DELETE FROM cadres WHERE prenom=\'%s\'", nom_suppr);

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut
    Ca ne marche hélas pas.

Discussions similaires

  1. [MySQL] Remplacer une chaîne de caractères dans une base de données
    Par Furius dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/11/2013, 21h06
  2. inserer les données d'une base de données dans une autres?
    Par enstein8 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/10/2011, 13h33
  3. créer une boulce pour lire dans une base de donnéé MySQL
    Par pierrot10 dans le forum Administration
    Réponses: 1
    Dernier message: 26/07/2006, 14h21
  4. [MySQL] Modifier des données dans une base de donnée
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/01/2006, 09h56
  5. [VB.NET] lien d'une base de donnée dans une variable
    Par Anubis666 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/01/2006, 10h56

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