Problème à signaler:


Télécharger Apprendre ADO.Net par la pratique cours et exercices complet



★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:



Apprendre ADO.Net par la pratique cours et exercices complet

➢ ADO veut dire Activex Data base Objet.

➢ Pour avoir accès à partir de VB.NET aux bases de données il faut utiliser ADO.NET.

ADO .NET permet de travailler en deux modes :

«Connecté » : le poste client maintient une « connexion » réseau avec le serveur, et lui envoie des requêtes pour lire ou écrire directement dans la base de données distante.

«Déconnecté » : le poste client effectue une copie locale des données en mémoire, dans un DataSet (groupe de données). Le DataSet contient des tables qui permettent de copier et d’organiser les données sur le poste client.

Les Objets ADO.NET :

  1. L'objet Connection :

L’objet Connection permet de se connecter à une base de données en donnant le nom du serveur, de la base, et le nom et le mot de passe d’un utilisateur connu du SGDB.

  1. L'objet Command:

L’objet Command permet d’envoyer à la base de données, des requêtes SQL d’interrogation ou de modification, avec ou sans paramètres.

✓ Avec ExecuteNonQuery de l'objet Command on peut manipuler directement la BD (UPDATE, INSERT, DELETE, CREATE, DROP..).

✓ Avec ExecuteScalar de l'objet Command on peut récupérer les résultats d'une requête SQL qui contient une instruction COUNT (comptage) AVG (moyenne) MIN (valeur minimum) MAX (valeur maximum) SUM (somme).

✓ Avec ExecuteReader de l'objet Command on peut d’exécuter des requêtes SQL de type SELECT qui renvoient des lignes au poste client.

  1. L'objet DataReader:

Avec un objet DataReader on extrait les données en lecture seule: une Requête SQL (sur un objet command) charge le DataReader. C’est rapide; on peut lire uniquement les données et aller à l'enregistrement suivant. Il travaille en mode connecté.

Il faut créer un objet Connexion puis un objet Command, ensuite on exécute la propriété ExecuteReader  pour créer l'objet DataReader; enfin on parcourt les enregistrements avec la méthode Read.

  1. L’objet DataAdapter :

L’objet DataAdapter est le support du mode « déconnecté ». Il est plus élaboré que le DataReader et contient quatre command s, correspondant aux quatre instructions SQL de base : SELECT, UPDATE, INSERT, DELETE. Il permet de remplir le DataSet, grâce à sa requête SELECT, et éventuellement de répercuter des mises à jour du DataSet vers la base de données via les requêtes UPDATE, INSERT et DELETE.

  1. L'objet DataSet:

Le DataSet est une représentation en mémoire des données. On charge le DataSet à partir de la base de données. Une fois chargé on peut travailler en mode déconnecté.

Pour effectuer une modification, on modifie le DataSet puis on met à jour la base de donnée à partir du DataSet. Pour remplir un DataSet il faut une Connexion puis un DataAdapter.

Il faut créer un objet Connexion puis un objet DataAdapter qui par sa propriété Fill charge le DataSet.

  1. L'objet CommandBuilder:

Pour mettre à jour la base après modification du DataSet il faut utiliser l’objet CommandBuilder.

Remarque :

Importer dans tous vos programmes l’espace de noms System.Data.SqlClient qui contient le fournisseur de données pour SqlServer.

C’est la fin du blabla…

TP N° 1: Création d’une Connection par code

(1 ère façon)

Travail demandé :

  1. Créer l’interface ci‐dessous :
  2. Importer dans votre programme l’espace de nom qui contient le fournisseur de données pour SqlServer.
  3. Créer une instance de la classe SqlConnection, en passant une chaîne de connexion à son constructeur.
  4. Ecrire le code du Bouton « ouvrir » qui permet d’ouvrir la Connection et afficher son statut dans la zone de texte.
  5. Ecrire le code du Bouton « fermer » qui permet de fermer la Connection et afficher son statut dans la zone de texte.
  6. Tester votre application.

Solution:

'Importation de l’espace de nom: Imports System.Data.SqlClient

Public Class Form1

'Création d'une instance de la classe SqlConnection: Dim con As New SqlConnection ("database=Mybase;

server=; integrated security=true")

'Code du Bouton qui permet d'ouvrir la Connection : Private Sub BtnOuvrir_Click (ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles BtnOuvrir.Click

con.Open()

Me.TextBox1.Text = con.State.ToString

End Sub

'Code du Bouton qui permet de fermer la Connection : Private Sub BtnFermer_Click (ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles BtnFermer.Click

con.Close()

Me.TextBox1.Text = con.State.ToString

End Sub End Class

TP N° 2: Création d’une Connection par code

(2éme façon)

Travail demandé :

  1. Créer l’interface ci‐dessous :
  2. Créer une instance de la classe SqlConnection, on y utilise sa propriété ConnectionString.
  3. Ecrire le code du Bouton « Tester la Connection » qui permet d’afficher son statut dans un message box.
  4. Tester votre application.

Solution:



'Importation de l’espace de nom: Imports System.Data.SqlClient

Public Class Form2

'Création d'une instance de la classe SqlConnection: Dim con As New SqlConnection

'Utilisation de la propriété ConnectionString : Private Sub Form2_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

con.ConnectionString = ("database=Mybase; server=; integrated security=sspi") 'Ouvrir la Connection :

con.Open () End Sub

'Code du Bouton Tester la Connection :

Private Sub BtnTestCon_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTestCon.Click

MsgBox ("L'état actuelle de la Connection est

:" + con.State.ToString ()) End Sub

End Class

TP N° 3: Création et Exécution d’une command Par ExecuteNonQuery ()

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Créer une instance de la classe SqlCommand.
  3. Rattacher « le nouveau command » à la connexion.
  4. Préciser « le type de command » (ici une requête SQL).
  5. Ecrire le texte de la requête SQL qui permet d’ajouter une nouvelle personne à la table Personne (Code, Nom, Prénom).
  6. Tester votre application.

Solution:

'Importation de l’espace de nom: Imports System.Data.SqlClient Public Class Form3

'Création d'une instance de la classe SqlConnection: Dim con As New SqlConnection ("database=Personnes;

server=; integrated security=true")

Private Sub Form3_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load 'Ouvrir la Connection :

con.Open() Me.TxtCode.Select()

End Sub

'Code du Bouton ajouter :

Private Sub BtnAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAjouter.Click

Dim command As SqlCommand

' Création d’un nouveau command command = New SqlCommand

'On rattache le nouveau command à la connexion en cours

command .Connection = con

' Type de command : ici une requête SQL command.CommandType =  CommandType.Text ' Texte de la requête SQL :

command .CommandText = "Insert into personne values (" & Me.TxtCode.Text & ",'" & Me.TxtNom.Text & "','" & Me.TxtPrenom.Text &"')"

'Utilisation de la propriété ExecuteNonquery: command .ExecuteNonQuery()

MsgBox("Bien ajouter!!",MsgBoxStyle.Information)

End Sub End Class

TP N° 4 :  Utilisation des commands paramétrés Par code.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code qui permet de modifier une personne de table Personne (Code, Nom, Prénom). Utilisation des commands paramétrés.
  3. Tester votre application.

Solution:

'Importation de l’espace de nom: Imports System.Data.SqlClient

Public Class Form1

'Création d'une instance de la classe SqlConnection: Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load 'Ouvrir la Connection : con.Open() Me.TxtCode.Select()

End Sub

'Code du Bouton modifier :

Private Sub BtnModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnModifier.Click

Dim cmd As New SqlCommand cmd.Parameters.Clear() cmd.Parameters.Add("@code", SqlDbType.Int)

cmd.Parameters.Add("@nom", SqlDbType.NVarChar) cmd.Parameters.Add("@prenom",SqlDbType.NVarChar) cmd.Parameters(0).Value = Me.TxtCode.Text cmd.Parameters(1).Value = Me.TxtNom.Text cmd.Parameters(2).Value = Me.TxtPrenom.Text cmd.Connection = con

cmd.CommandType = CommandType.Text cmd.CommandText = "update personne set Nom=@nom, Prenom=@prenom where Code=@code" cmd.ExecuteNonQuery()

MsgBox("Bien Modifier!",MsgBoxStyle.Information) End Sub

End Class

TP N° 5 : Création et Exécution d’un command Par ExecuteScalar ()

Travail demandé :

  1. Créer l’interface ci‐dessous :
  2. Ecrire le code qui permet de calculer le nombre des clients de la table « customers » dans la base de données « northwind ».
  3. Tester votre application.

Solution:

'Importation de l’espace de nom: Imports System.Data.SqlClient

Public Class Form1

'Création d'une instance de la classe SqlConnection: Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load 'Ouvrir la Connection : con.Open()

End Sub

'Code du Button Calculer:

Private Sub BtnCalculer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles BtnCalculer.Click

'La 2eme façon de créé et initialisé un command :

Dim cmd As New SqlCommand("select count(*) from customers ", con)



'L’exécution de le command par ExecuteScalar ():

Me.TxtNbr.Text = cmd.ExecuteScalar() End Sub

End Class

TP N° 6: Création et Exécution d’un command Par ExecuteReader ().

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code du bouton « chercher » qui permet :

o de chercher une personne par son code saisi dans la zone de texte et après son nom et son prénom sera affiché dans les autres zones de texte.

o un message s’affiche, si on saisit un code inexistant.

  1. Test votre application.

Solution:

'Importation de l’espace de nom: Imports System.Data.SqlClient

Public Class Form1

'Création d'une instance de la classe SqlConnection: Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load 'Ouvrir la Connection : con.Open()

End Sub

'Code du Button chercher:

Private Sub Btnchercher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Btnchercher.Click

'Création et initialisation du command :

Dim cmd As New SqlCommand("select * from personne where code=" & Me.TxtCode.Text & "", con)

'Exécution de la command par ExecuteReader : Dim dr As SqlDataReader = cmd.ExecuteReader If dr.Read Then

Me.TxtNom.Text = dr(1) Me.TxtPrenom.Text = dr(2)

Else

MsgBox ("Code introuvable!!",MsgBoxStyle.Exclamation)

End If

'N’oublier pas de fermer ExecuteReader :

dr.Close()

End Sub End Class

TP N° 7 : Remplir le combobox et listebox en Mode connecté :

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code qui permet de remplir le combobox au démarrage du formulaire par les codes de toutes les personnes.
  3. Ecrire le code du Bouton « remplir » qui permet de remplir le listebox par le nom et le prénom de la personne choisi par le code dans le combobox.
  4. Tester votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1

Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load con.Open()

'Remplir le combobox au démarrage du formulaire:

Dim cmd As New SqlCommand("select code from personne", con)

Dim dr As SqlDataReader = cmd.ExecuteReader While dr.Read

Me.ComboCode.Items.Add(dr(0))

End While

dr.Close()

End Sub

'Code du Bouton Remplir:

Private Sub BtnRemplir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRemplir.Click

Dim cmd As New SqlCommand ("select Nom, prenom from personne where code=" & Me.ComboCode.Text & "", con)

Dim dr As SqlDataReader = cmd.ExecuteReader Me.ListBox1.Items.Clear()

If dr.Read Then

Me.ListBox1.Items.Add(" Le nom est :" + dr(0) + "") Me.ListBox1.Items.Add("Le Prénom est :" + dr(1) + "")

End If dr.Close()

End Sub End Sub

End Class

TP N° 8 : Remplir le Datagrid en Mode Connecté.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code du Bouton « remplir le Datagrid » qui permet de remplir le Datagrid par toutes les personnes de la table Personne (Code, Nom, Prénom).
  3. Tester votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1

Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load con.Open()

End Sub

'Code du Button Remplir le Datagrid:

Private Sub BtnRemplir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRemplir.Click

'Déclaration de deux tables (Mytable et dt):

Dim mytable As New DataTable Dim dt As New DataTable

'Vider la table Mytable : mytable.Rows.Clear() mytable.Columns.Clear()

Dim req As String = "select * from personne" Dim cmd1 As New SqlCommand(req, con)

Dim dr As SqlDataReader = cmd1.ExecuteReader

'La méthode GetSchemaTable Permet de récupérer 'les informations des colonnes (schéma des 'données) dans un objet DataTable.

TP N° 9 : Premier, dernier, précédent et Suivant en Mode Connecté.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code pour les boutons de déplacements

« Premier, Suivant, Précèdent, Dernier ».On travaille avec la table: Personne (Code, Nom, Prénom). (Penser d’utiliser une collection).



  1. Tester votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1

Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

con.Open()

Dim req As String = "select * from personne" Dim cmd As New SqlCommand(req, con)

Dim dr As SqlDataReader = cmd.ExecuteReader While dr.Read

With Per

Per.Code = dr(0) Per.Nom = dr(1) Per.Prenom = dr(2)

End With coll.Add(Per)

End While dr.Close()

End Sub

'Création d’une structure : Public Structure Personne Public Code As Integer Public Nom As  String Public Prenom As  String End Structure

Dim Per As Personne

'Instanciation d’une collection : Dim coll As New Collection

Dim pos As Integer

'Code du Button Premier:

Private Sub BtnPremier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPremier.Click

pos = 1

Per = coll.Item(pos) Me.TxtCode.Text = Per.Code Me.TxtNom.Text = Per.Nom Me.TxtPrenom.Text = Per.Prenom

End Sub

'Code du Button Dernier:

Private Sub BtnDernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDernier.Click

pos = coll.count

Per = coll.Item(pos) Me.TxtCode.Text = Per.Code Me.TxtNom.Text = Per.Nom Me.TxtPrenom.Text = Per.Prenom

End Sub

'Code du Button Précédent:

Private Sub BtnPrécédent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrécédent.Click

pos = pos-1

Per = coll.Item(pos) Me.TxtCode.Text = Per.Code Me.TxtNom.Text = Per.Nom Me.TxtPrenom.Text = Per.Prenom

End Sub

'Code du Button Suivant:

Private Sub BtnDernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDernier.Click

pos = pos+1

Per = coll.Item(pos) Me.TxtCode.Text = Per.Code Me.TxtNom.Text = Per.Nom Me.TxtPrenom.Text = Per.Prenom

End Sub

End Class

TP N° 10 : Création et initialisation d’une DataAdapter et DataSet par code.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code pour le Bouton « Ajouter » qui permet d’ajouter une nouvelle personne de la table personne (Code, Nom, Prénom) en mode déconnecté.
  3. Ecrire le code pour le Bouton « Modifier » qui permet de modifier une personne de la table personne (Code, Nom, Prénom) en mode déconnecté.
  4. Ecrire le code pour le Bouton « Supprimer » qui permet de supprimer une personne de la table personne (Code, Nom, Prénom) en mode déconnecté.
  5. Tester votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1

Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

'Création des objets sqldataAdapter,Dataset et 'SqlCommandBuilder:

Dim da As SqlDataAdapter Dim ds As New DataSet

Dim builder As SqlCommandBuilder

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

da = New SqlDataAdapter("select * from personne" , con)

da.Fill (ds, "personne")

End Sub

'Code du Button Ajouter:

Private Sub BtnAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAjouter.Click

Dim ligne As DataRow

ligne = ds.Tables("personne").NewRow ligne(0) = Me.TxtCode.Text

ligne(1) = Me.TxtNom.Text ds.Tables("personne").Rows.Add(ligne) builder = New SqlCommandBuilder(da) da.Update(ds, "personne") ds.Tables("personne").GetChanges() ds.AcceptChanges()

MsgBox("Bien Ajouter!!",MsgBoxStyle.Information)

End Sub

'Code du Button Modifier:

Private Sub btnModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModifier.Click

Dim req As String = "update personne set Nom='" & Me.TxtNom.Text & "', prenom='" & Me.TxtPrenom.Text & "' where Code= " & Me.TxtCode.Text & ""

da = New SqlDataAdapter (req, con) da.Update(ds, "personne")

builder = New SqlCommandBuilder(da) ds.Tables("personne").AcceptChanges() MsgBox("Bien Modifier!!", MsgBoxStyle.Information)

End Sub

'Code du Button Supprimer:

Private Sub btnSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSupprimer.Click

Dim req As String = "delete from personne where Code="& Me.TxtCode.Text & ""

da = New SqlDataAdapter(req, con) builder = New SqlCommandBuilder(da) da.Update(ds, "personne") ds.Tables("personne").AcceptChanges() da.Fill(ds, "personne")

MsgBox("Bien Supprimer !!", MsgBoxStyle.Information)

End Sub

End Class

TP N° 11 : Remplir le combobox et listebox En Mode deconnecté.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code du Bouton « Remplir » qui permet de remplir le combobox par les codes des personnes et la listebox par les prénoms.
  3. Tester votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1



Dim con As New SqlConnection ("database=Personnes; server=; integrated security=true")

'Création des objets sqldataAdapter,Dataset : Dim da As SqlDataAdapter

Dim ds As New DataSet Dim pos As Integer

'Le code pour le Bouton remplir :

Private Sub BtnRemplir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRemplir.Click

pos = 0

da = New SqlDataAdapter("select code from personne", con)

ds.Clear()

da.Fill(ds, "CodePer") Me.ComboCode.Items.Clear()

While pos < ds.Tables("CodePer").Rows.Count - 1

Me.ComboCode.Items.Add(ds.Tables("CodePer").Rows(pos).Item(0))

pos = pos + 1 End While

da = New SqlDataAdapter("select prenom from personne", con)

da.Fill(ds, "prenomPer") Me.ListBox1.Items.Clear() pos = 0

While pos < ds.Tables("prenomPer").Rows.Count - 1 Me.ListBox1.Items.Add(ds.Tables("prenomPer").Rows(pos

).Item(0))

Me.ListBox1.Items.Add("-----------------")

pos = pos + 1 End  While End Sub

End class

TP N° 12 : Remplir le Datagrid En Mode Deconnecté.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code qui permet de remplir le combobox au démarrage du formulaire par les codes de toutes les personnes.
  3. Ecrire le code du Bouton « remplir » qui permet de remplir le Datagrid par toutes les informations de la personne choisi par le code dans le combobox.
  4. Tester votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1

Dim con As NewSqlConnection("database=personnes; server=; integrated security=sspi")

Dim da As SqlDataAdapter Dim ds As New DataSet Dim pos As Integer

'Remplir le combobox au démarrage du formulaire: Private Sub Form1_Load (ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

pos = 0

da = New SqlDataAdapter("select code from personne", con)

ds.Clear()

da.Fill(ds, "CodePer") Me.ComboCode.Items.Clear()

While pos < ds.Tables("CodePer").Rows.Count -

1Me.ComboCode.Items.Add(ds.Tables("CodePer").Rows(pos)

.Item(0))

pos = pos + 1 End While

End Sub

'Code de la Bouton Remplir :

Private Sub BtnRemplir_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRemplir.Click

da = New SqlDataAdapter("select * from personne where code=" & Me.ComboCode.Text & "", con)

ds.Clear() da.Fill(ds, "Perso")

Me.DataGrid1.SetDataBinding(ds, "perso") End Sub

End Class

TP N° 13 : Premier, dernier, précédent et Suivant en Mode déconnecté.

Travail demandé :

  1. Créer l’interface ci-dessous :
  2. Ecrire le code pour les boutons de déplacements

« Premier, Suivant, Précèdent, Dernier ».On travail avec la table:

Personne (Code, Nom, Prénom).

  1. Test votre application.

Solution:

Imports System.Data.SqlClient Public Class Form1

Dim con As New SqlConnection ("database=personnes; server=; integrated security=sspi")

Dim da As SqlDataAdapter Dim ds As New DataSet Dim pos As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

da = New SqlDataAdapter("select * from personne", con) da.Fill(ds, "personne")

End Sub

'Code du Button Premier:

Private Sub BtnPremier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPremier.Click

pos = 0 Me.TxtCode.Text=ds.Tables("personne").Rows(pos).Item(0) Me.TxtNom.Text =ds.Tables("personne").Rows(pos).Item(1) Me.TxtPren.Text=ds.Tables("personne").Rows(pos).Item(2)

End Sub

'Code du Button Dernier:

Private Sub btnDernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDernier.Click

pos = ds.Tables("personne").Rows.Count – 1 Me.TxtCode.Text=ds.Tables("personne").Rows(pos).Item(0) Me.TxtNom.Text =ds.Tables("personne").Rows(pos).Item(1) Me.TxtPren.Text=ds.Tables("personne").Rows(pos).Item(2)

End Sub

'Code du button Précédent:

Private Sub bntPrécédent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles bntPrécédent.Click

pos = pos - 1 Me.TxtCode.Text =

ds.Tables("personne").Rows(pos).Item(0) Me.TxtNom.Text =

ds.Tables("personne").Rows(pos).Item(1) Me.TxtPrenom.Text =

ds.Tables("personne").Rows(pos).Item(2)

End Sub

'Code du button Dernier:

Private Sub btnSuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles btnSuivant.Click

pos = pos + 1 Me.TxtCode.Text =

ds.Tables("personne").Rows(pos).Item(0) Me.TxtNom.Text =

ds.Tables("personne").Rows(pos).Item(1) Me.TxtPrenom.Text =

ds.Tables("personne").Rows(pos).Item(2) End Sub

End Class

TP N° 14 : la feuille de démarrage (MDI)

Travail demandé :

On va travailler avec la base de données Produit_Client qui contient les deux tables :

Client (Code_Cli, Nom_Cli, Pren_Cli)

Produit (Code_Pro, Nom_Pro, Prix_Pro, Code_Cli)

  1. Au lancement de l’application, présenter une feuille de démarrage (MDI) sous cette forme :
  2. Le sou menu Client du menu fichier permet d’afficher une feuille, comme ci‐dessous :

➢ Ecrire le code du chargement de la feuille.



➢ Ecrire le code qui permet de remplir le combobox.

➢ Ecrire le code pour les boutons de déplacements (Premier, Suivant, Précèdent, Dernier).

➢ Ecrire le code pour les boutons : Nouveau, Ajouter, Modifier et Supprimer.

  1. Le sou menu produit du menu fichier permet d’afficher une feuille, comme ci‐dessous :

➢ Ecrire le code du chargement de la feuille.

➢ Ecrire le code qui permet de remplir le combobox.

➢ Ecrire le code pour les boutons de déplacements

(Premier, Suivant, Précèdent, Dernier).

➢ Ecrire le code pour les boutons : Nouveau, Ajouter, Modifier et Supprimer.

  1. Tester votre application.

Solution:

Imports System.Data.SqlClient

'On va ajouter un module (parce que on travail par plusieurs formulaire):

Module Module1

Public con As New SqlConnection ("database=Client_Produit; server=; integrated security=sspi")

Public cmd As SqlCommand Public dr As SqlDataReader Public da As SqlDataAdapter Public ds As New DataSet

Public Form_Client As New Form2 Public Form_Produit As New Form3 Public pos As Integer

End Module

'Code du formulaire MDI:

Public Class Form1

Private Sub Form14_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

'Le formulaire devient un MDI: Me.IsMdiContainer = True

End Sub



1531