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é.
- 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.
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);
}
}
}
}
