lundi 30 janvier 2017

(VB.NET) Les bases de données sur Visual Basic.Net

Les bases de données

1- Création d'une base de données en ligne en utilisant le PHPMyAdmin

Site utilisé: https://db4free.net/

Une base de données se compose de plusieurs table, une table est un moyen d'enregistrer des données dans la base de données, une table c'est tout simplement un tableau avec des colonnes et chaque colonne représente une valeur a enregistrer.
Un exemple simple c'est de créer une table de 3 colonnes (ID, Nom, Age), il faut toujours avoir un moyen pour distinguer entre les données enregistrées et dans notre cas c'est l'ID.

Dans le PHPmyAdmin on choisie l'ID comme colonne primaire et cocher l'option A_I (Auto incrémentation) comme ça l'ID sincèrement automatiquement a chaque fois on ajoute un élément dans la table et cela veut dire qu'on est pas obligé a indiquer la valeur de l'ID lorsqu'on veut ajouter un élément dans la table puisque ça s'ajoute automatiquement grâce a auto incrément.

2- Installation du Mysql Connector/NET

Cela est nécessaire pour l'utilisation de la référence Mysql.Data dans Visual Studio et ainsi pouvoir utiliser les fonctions de mysql dans notre projet.
Lien de téléchargement: Mysql Connector/Net
Cliquez sur Download, et dans la page suivante cliquez sur No thanks pour démarrer le téléchargement. 
Dans l'installeur choisissez Typical et cliquez sur Next.


3- Création de l'interface de l'application sur Visual Studio

Soyez libre de choisir une interface qui vous convienne, dans cet exemple j'ai choisi d'utiliser les TextBoxes pour entrer les informations de connexion (nom de base de données, nom d'utilisateur, mot de passe etc) et des GroupeBox pour bien organiser les choses.

4- Connexion a la base de données depuis l'application

Il faut utiliser la référence Mysql.data en suivant ces étapes: 
1- Ouvrir l'explorateur de solution, si il n'est pas déjà ouvert allez dans affichage et cliquez sur explorateur de solution, dans l'explorateur de solution faite un clic droit sur le projet et choisissez Ajouter ensuite référence, dans la fenêtre qui s'ouvre chercher et cocher la référence Mysql.data.

2- Faite un clic droit sur l'interface (Form) et cliquez sur afficher les codes ou appuyez sur F7, tout en haut entrez ces deux référence:
Imports MySql.Data
Imports MySql.Data.MySqlClient

3- Déclarez une variable de type MysqlConnection et dans un bouton on peut entrer les codes de connexion, vous aurez quelque chose comme ça:


5- Ajouter des éléments a la base de données

Ici j'ai ajouté deux TextBox dans lesquels j'entre le nom et l'age et je clic sur ajouter. 

6- Obtenir et afficher les données dans l'application en utilisant un ListView

Voici les codes pour obtenir les données depuis la tables dans la base de données, et les mettres dans une ListView.

7- Supprimer un élément dans la base de données

Ici j'obtiens l’élément sélectionné dans la listview et je prends l'ID pour indiquer a la base de données quel élément a supprimer dans la table.

8- Modifier un élément dans la base de données

Dans cette étape j'ai utilisé deux TextBox dans lesquels j'entre les nouvelles valeurs pour le nom et l'age, tout d'abord il faut sélectionner l’élément a modifier dans la listview ensuite je clic sur Modifier et je remplace les valeurs avec ce que j'ai dans les deux TextBox.

9- Rechercher des éléments spécifiques dans la base de données

Cette étape est un petit peu compliquée parce que pour couvrir tous les possibilités de recherche il faut gérer plusieurs situations, par exemple on peut chercher avec:
Est ce que Age est plus grand que 20
Est ce que Age est moins que 20
Est ce que Age est plus grand que 20 et moins que 60
Est ce que Age est plus grand que 20 ou bien Nom est égale a David et ID est plus grand que 4

Dans cet exemple j'ai crée 3 Combobox, le premier contient (ID, Nom, Age) le deuxième contient (=, >, <) et le troisième dépend de ce qu'on a choisie dans le deuxième Combobox.
Le premier combobox c'est ce qu'on veut chercher (ID, Nom, Age)
le deuxième est-ce qu'on veut faire égale, ou plus grand que ou moins que, si on choisie plus grand que donc dans le troisième combobox on met (Rien et moins que), si on choisie moins que dans ce cas on met (Rien et plus grand que), si on choisie égale on ne met que Rien.
En utilisant ces trois combobox on peut choisir par exemple:
Combobox1: Age
Combobox2: > 25
Combobox3: < 40
et cela veut dire qu'on veut chercher avec un age entre 25 et 40.
Si nous voulons que plus grand que 25 on peut mettre:
Combobox1: Age
Combobox2: > 25
Combobox3: Rien

Si on choisie Nom dans le combobox1  on va ignorer les autres combobox puisque on ne peut pas faire Nom > 20 par exemple, pour cela je disactive les combobox si je choisie Nom dansCombobox1, et aussi je modifie les valeurs du Combobox3 par apport a ce que j'ai choisie dans le Combobox2.
Pour gérer cela il faut faire un simple double-clic sur le combobox1 et entrer ces code:


et un double-clic sur le combobox2 et entrer ces codes:


Ensuite pour chercher j'ai utiliser cette méthode de vérification, bien sur vous pouvez faire plusieurs méthodes de recherche. 

Ressources:

Télécharger le projet complet ici: DBProjetx7

14 commentaires:

  1. Merci pour ce tutoriel. Je m'excuse d'être hors sujet dû à ma question que je veux poser.
    Lors d'une création d'une application il est possible de connecté le Port d'un ordinateur avec Imports System.IO.Ports. Dans le cas où je devrais faire la même chose avec un réseau Wifi, que dois-je faire?

    RépondreSupprimer
  2. Merci pour le travail mais difficile de lire sur le fond noir de votre Vb.net

    RépondreSupprimer
  3. J'ai un message de connexion lors de la tentative de connexion à la base de donnée "Le Guid doit contenir 32chiffres et 4 tirets",besoin d'aide svp,merci !

    RépondreSupprimer
  4. En faite j'ai une petite question : pourquoi quand je clique sur un Item dans la ListView pour le supprimer, je n'arrive pas a les cliquer tous, seulement l'ID, et quand je le supprime, il me montre une erreur sur le cmd.ExecuteNonQuery()

    RépondreSupprimer
  5. Donc je ne sais pas comment rendre tous une ligne supprimable dans la listeView

    RépondreSupprimer
  6. Mon Email est ando.andoniaina.nantenaina@esti.mg si vous pouvez me répondre, Merci d'avance..! :)

    RépondreSupprimer
  7. bonjour je n'arrive pas a telecharger et installer la base de donnée
    y a t il une video ou une aide a propos de cela ?
    merci de votre aide

    RépondreSupprimer
  8. Bonjour j'ai bien suivi la vidéo mais j'ai un problème:
    j'ai crée une bd sur le mm site que vous la mm chaine de connection dans ma variable de connection, il apparait une erreur la connexion ne s'etablie pas.
    j'aimerais avoir une solution svp

    RépondreSupprimer
  9. MERCI BEAUCOUP MONSIEUR PROJETX7 POUR VOTRE AIDE

    RépondreSupprimer
  10. bjr j'essaie de m'inscrire avec mon email mais le message d'erreur affiche: adresse email invalide
    j'ai essayé aussi avec l'email de ma soeur mais le meme message affiche

    RépondreSupprimer
  11. Excellent tutos ,j'ai déjà chargé toutes les vidéos sur Youtube.
    Je viens de me mettre à Visual Studio 2019.
    J'ai un peu de mal avec la gestion de SQL Server.
    Je n'arrive pas bien à le situer par rapport à un exemple de projet.
    comment créer et ouvrir une BD ???

    RépondreSupprimer
  12. salut 🙂🙂🙂

    j'espere que tu va bien
    Deja je voudrais te feliciter et te dire merci pour tes videos sur Vb.net en francais
    j'ai suivi toute tes 110 videos cest vraiment genial comme travail
    j'ai essayer de creer une application en utilisant ta methode mais j'ai un soucis je ne sais pas si tu peux me permettre de le resoudre
    j'essai de creer une appli de gestion d'equipements pour mes camarades de classes
    mais je suis bloquer au niveau de la recherche

    je voudrais juste pouvoir faire des recherches sur par exemple le numero de serie, le nom et le prenom , et aussi la date
    mais avec ta methode ( le byval cmd ) je ne m'en sors pas je sais pas si t'a une methode meme longue
    et comment enregistrer tout ca soit dans l'appli soit sur un fichier access
    voici le lien de mon projet

    https://drive.google.com/file/d/1ZdOYdZyIjsNwS9QR-PHTEEyt4heEyPUu/view?usp=sharing

    toute aide est la bienvenue


    mon contact
    zormitch5@gmail.com

    merci 🙂🙂🙂🙂

    RépondreSupprimer