Mar.27
TP13 : Les opérations de la mise à jour en mode déconnecté
Objectif
L’objectif de ce TP est de s’habituer à utiliser les opérations de la mise à jour en mode déconnecté.
Questions
- Créer l’interface suivante :
- Écrire le code nécessaire qui permet de remplir le dataGridView avec les livres de la base de données bibliotheque.
- Écrire le code pour le Bouton Ajouter qui permet d’ajouter un nouveau livre de la table livre en mode déconnecté.
- Écrire le code pour le Bouton Modifier qui permet de modifier un livre de la table livre en mode déconnecté.
- Écrire le code pour le Bouton Supprimer qui permet de supprimer un livre de la table livre en mode déconnecté.
- Écrire le code pour le Bouton Enregistre qui permet de valider les mises à jour sur la table livre.
Correction
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace TP14_bib_2 { public partial class Form1 : Form { SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = bibliotheque; integrated security = SSPI"); DataSet ds = new DataSet(); SqlCommand cmd = new SqlCommand(); SqlDataAdapter da = new SqlDataAdapter(); public Form1() { InitializeComponent(); } private void button4_Click(object sender, EventArgs e) { codeLivre.Text = ""; titreLivre.Text = ""; auteurLivre.Text = ""; nbrLivre.Text = ""; } private void Form1_Load(object sender, EventArgs e) { conn.Open(); SqlDataAdapter ad = new SqlDataAdapter("select * from livre",conn); ad.Fill(ds,"livre"); dv.DataSource = ds.Tables["Livre"]; conn.Close(); } private void button1_Click(object sender, EventArgs e) { DataRow ligne; ligne = ds.Tables["Livre"].NewRow(); ligne["CodeL"] = codeLivre.Text; ligne["Titre"] = titreLivre.Text; ligne["Auteur"] = auteurLivre.Text; ligne["NbExemplaires"] = int.Parse(nbrLivre.Text); ds.Tables["Livre"].Rows.Add(ligne); } private void button3_Click(object sender, EventArgs e) { int x=-1; for (int i = 0; i < ds.Tables["Livre"].Rows.Count; i++) { if (codeLivre.Text == ds.Tables["Livre"].Rows[i][0].ToString()) { x=i; } } if (x != -1) { ds.Tables["Livre"].Rows[x].Delete(); } else { MessageBox.Show("Livre introuvable"); } } private void button2_Click(object sender, EventArgs e) { int x = -1; for (int i = 0; i < ds.Tables["Livre"].Rows.Count; i++) { if (codeLivre.Text == ds.Tables["Livre"].Rows[i][0].ToString()) { x = i; } } if (x != -1) { ds.Tables["Livre"].Rows[x][1] = titreLivre.Text; ds.Tables["Livre"].Rows[x][2] = auteurLivre.Text; ds.Tables["Livre"].Rows[x][3] = nbrLivre.Text; //ds.Tables["Livre"].Rows[x].BeginEdit(); //ds.Tables["Livre"].Rows[x][1] = titreLivre.Text; //ds.Tables["Livre"].Rows[x][2] = auteurLivre.Text; //ds.Tables["Livre"].Rows[x][3] = nbrLivre.Text; //ds.Tables["Livre"].Rows[x].EndEdit(); } else { MessageBox.Show("Livre introuvable"); } } private void button5_Click(object sender, EventArgs e) { conn.Open(); SqlDataAdapter ad = new SqlDataAdapter("select * from livre", conn); SqlCommandBuilder sqb = new SqlCommandBuilder(ad); ad.Update(ds,"livre"); conn.Close(); } } }