Voici un TP pour créer une application en Visual Basic .NET avec une base de données MySQL, utilisant un DataReader pour récupérer des données et la propriété DataSource pour afficher ces données dans une DataGridView :
- Créer une nouvelle base de données MySQL avec une table nommée « Clients ». La table devrait avoir les champs suivants :
- Id (int, AI, PK)
- Nom (varchar(50))
- Prénom (varchar(50))
- Adresse (varchar(100))
- Email (varchar(100))
- Ouvrir Visual Studio et créer un nouveau projet Visual Basic .NET.
- Ajouter la librairie MySql.Data.MySqlClient comme décrit précédemment.
- Ajouter une DataGridView à votre formulaire, en faisant glisser le contrôle DataGridView depuis la boîte à outils de Visual Studio.
- Dans le code de votre formulaire, ajouter les déclarations et initialisations des variables suivantes :
Dim connectionString As String = "server=localhost;user id=nom_utilisateur_mysql;password=mot_de_passe_mysql;database=nom_de_la_base_de_donnees;"
Dim query As String = "SELECT * FROM Clients"
Dim connection As MySqlConnection = New MySqlConnection(connectionString)
Dim command As MySqlCommand = New MySqlCommand(query, connection)
Dim reader As MySqlDataReader
Dim dataTable As New DataTable()
Dans ce code, nous déclarons et initialisons les variables nécessaires pour se connecter à la base de données MySQL, y compris connectionString, query, une instance de MySqlConnection, MySqlCommand, MySqlDataReader et DataTable.
- Dans la méthode Load de votre formulaire, ajouter le code suivant pour afficher les clients dans le DataGridView :
connection.Open()
reader = command.ExecuteReader()
If reader.HasRows Then
dataTable.Load(reader)
DataGridView1.DataSource = dataTable
End If
reader.Close()
connection.Close()
Dans ce code, nous ouvrons la connexion à la base de données en utilisant la méthode Open() de l’objet MySqlConnection. Nous exécutons ensuite la requête SELECT en utilisant la méthode ExecuteReader() de l’objet MySqlCommand. Si le DataReader a des lignes, nous chargeons les données dans un DataTable en utilisant la méthode Load() du MySqlDataReader et définissons la propriété DataSource de la DataGridView sur ce DataTable. Enfin, nous fermons le MySqlDataReader et la connexion à la base de données.
- Ajouter des TextBoxes et des Labels pour permettre à l’utilisateur d’ajouter un nouveau client à la base de données. Ajouter un bouton « Ajouter » pour exécuter la requête d’insertion.
- Dans l’événement Click du bouton « Ajouter », ajouter le code suivant :
connection.Open()
query = "INSERT INTO Clients (Nom, Prénom, Adresse, Email) VALUES (@Nom, @Prénom, @Adresse, @Email)"
command = New MySqlCommand(query, connection)
command.Parameters.AddWithValue("@Nom", TextBoxNom.Text)
command.Parameters.AddWithValue("@Prénom", TextBoxPrenom.Text)
command.Parameters.AddWithValue("@Adresse", TextBoxAdresse.Text)
command.Parameters.AddWithValue("@Email", TextBoxEmail.Text)
command.ExecuteNonQuery()
connection.Close()
MessageBox.Show("Le client a été ajouté avec succès.")
Dans ce code, nous ouvrons la connexion à la base de données en utilisant la méthode Open() de l’objet MySqlConnection. Nous créons ensuite une nouvelle requête INSERT en utilisant les paramètres nom, prénom, adresse et email pour ajouter les informations du nouveau client.