Bonjour à tous, je développe une application de gestion en C#.
J'affiche les informations de ma BDD (MySQL) dan un datagridview relié à une table de celle-ci.
Ce que je voudrais faire, se serait de permettre de faire un update de ma base de donnée lorsque je modifie les champs de mes lignes affiché dans le DataGridview.
Autrement dit, enregistrer les modifications des cellules modifié du datagridview dans ma base de donnée.
J'ai cherché beaucoup de solution mais rien n'y fais. Quelqu'un aurait une idée? Un bout de code ? Une explication?
PS : J'ai testé ça mais ça ne m'enregistre pas le contenu de mes colonnes mais bien leur nom...
Alors, j'ai réussi finalement a faire un update, comme ceci :
private void button8_Click(object sender, EventArgs e)
{
// Fonction D'update des informations sur le datagridview directement dans la BDD
int x = 0;
int nb = dataGridView2.RowCount-1;
MySqlConnection connection = bdd.getInstance();
MySqlCommand cmd = connection.CreateCommand();
while (x < nb)
{
cmd.CommandText = "UPDATE `personne_adhérent` SET `nomPers` = '" + this.dataGridView2.Rows[x].Cells[1].Value + "', `prenomPers` = '" + this.dataGridView2.Rows[x].Cells[2].Value + "', `cycleAdh` = '" + this.dataGridView2.Rows[x].Cells[3].Value + "', `niveauAdH` = '" + this.dataGridView2.Rows[x].Cells[4].Value + "', `authPhoto` = " + this.dataGridView2.Rows[x].Cells[5].Value + ", `authSortie` = " + this.dataGridView2.Rows[x].Cells[6].Value + ", `teldomAdh` = '" + this.dataGridView2.Rows[x].Cells[7].Value + "', `telportAdh` = '" + this.dataGridView2.Rows[x].Cells[8].Value + "', `mailAdh` = '" + this.dataGridView2.Rows[x].Cells[9].Value + "', `adresseAdh` = '" + this.dataGridView2.Rows[x].Cells[10].Value + "', `datenaissanceAdh` = '2013-05-04' ,`notePers` = '" + this.dataGridView2.Rows[x].Cells[12].Value + "', `inscritPers` = " + this.dataGridView2.Rows[x].Cells[13].Value + " WHERE idPers= " + this.dataGridView2.Rows[x].Cells[0].Value + " ;";
cmd.ExecuteNonQuery();
x = x + 1;
}
connection.Close();
}
Maintenant j'aimerais faire en sorte de pouvoir faire une recherche parmi les lignes de mon datagridview. Cela est il possible sachant que celui ci est lié a un bindingsource (dataset).
D'après ce que je lis et ce que je comprends, ce que tu m'a donné c'est pour passer en surbrillance les lignes recherchés.
Ce que j'essaye de faire c'est afficher seulement les lignes recherchés. Concrètement, j'aimerais faire une autre requête sql sur mon DataGridView.
Est ce possible?
PS : J'ai réussi à changer mon dataset, mais le soucis c'est que les colonnes de mon datagridview ne changent pas et donc mon affichage est vide. Pour l'instant j'ai testé qu'au clic d'un bouton, mon datagridview change de dataset.
PS PS : J'ai réussi à changer de Binding source et a y afficher les infos comme ceci :
// Affiche les infos du DataGridView en fonction du choix, ici le choix est Professeur.
MySqlConnection connection = bdd.getInstance();
MySqlCommand cmd = connection.CreateCommand();
this.dataGridView2.Columns.Clear();
this.dataGridView2.AutoGenerateColumns = true;
dataGridView2.DataSource = this.professeurBindingSource;
this.dataGridView2.Refresh();
this.professeurTableAdapter.Fill(this.simDataSet1.professeur);
connection.Close();
JE voulais faire une recherche en c# avec mode connecte si j'ecris id et je clique sur rechercher m'affiche tous les information dyal id silvous plait m'aider
[C#] DataGridView Update
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.