Mar.23
TP8 : opérations de recherche en mode connecté
Objectif
Dans ce TP vous allez effectuer des opérations de recherche.
Questions
Partie serveur :
- Créer la base Gestion.
- Dans la base Gestion, crée la table produit:
Partie client :
- Créer l’interface suivante :
- Écrire les code des boutons Nouveau, Modifier, Supprimer.
- Écrire le code de bouton Afficher qui va permettre d’affiche tous les enregistrements de la table produit sur DataGridView et ListBox.
- Écrire le code de bouton Chercher, qui va permettre de rechercher un produit selon son ID.
- Si le produit existe, ses informations seront affichées dans les champs de texte et sa ligne correspondante sera sélectionnée dans DataGridView et ListBox.
- Si le produit n’existe pas, un MessageBox sera affiché.
Correction
using System.Data.SqlClient; namespace TP9_Rechercher { public partial class Form1 : Form { SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = gestion; integrated security = SSPI"); SqlDataReader dr; SqlCommand cmd; BindingSource source = new BindingSource(); public Form1() { InitializeComponent(); } private void button4_Click(object sender, EventArgs e) { try { cmd = new SqlCommand("select idProduit as 'Id', nomProduit as 'Nom', prixProduit as 'Prix' from produit", conn); conn.Open(); dr = cmd.ExecuteReader(); dv.Rows.Clear(); liste.Items.Clear(); while (dr.Read()) { liste.Items.Add("Id :" + dr[0] + " Nom : " + dr[1] + " Prix : " +dr[2]); } dr.Close(); dr = cmd.ExecuteReader(); source.DataSource = dr; dv.DataSource = source; dr.Close(); conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void button5_Click(object sender, EventArgs e) { try { cmd = new SqlCommand("select idProduit as 'Id', nomProduit as 'Nom', prixProduit as 'Prix' from produit", conn); conn.Open(); bool etat = false; dr = cmd.ExecuteReader(); int i = 0; while (dr.Read()) { if (re.Text.Equals(dr[0].ToString())) { id.Text = dr[0].ToString(); nom.Text = dr[1].ToString(); prix.Text = dr[2].ToString(); etat = true; dv.Rows[i].Selected = true; liste.SetSelected(i,true); break; } i++; } //dv.MultiSelect = false; //dv.SelectionMode = DataGridViewSelectionMode.FullRowSelect; if (etat == false) { MessageBox.Show("Le produit est introuvable"); } dr.Close(); conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }