2010-01-25 7 views
-1

J'ai un DataGridView qui est rempli à partir d'un DataSet.Comment mettre à jour une ligne dans DataGridView?

Comment puis-je changer n'importe quelle cellule dans le DataGridView, et cela change le DataSet aussi (et la base de données).

Y at-il un exemple de programme pour cela (en C#) que je peux apprendre?

+3

Avez-vous essayé de rechercher des didacticiels sur Dataabinding et DataGridView? –

Répondre

4

Here is an article avec des explications claires, des captures d'écran et du code qui montre comment utiliser DataGridView. Les sections de liaison de données devraient présenter un intérêt particulier.

+0

C'était une réponse lorsque vous avez écrit cette réponse, mais maintenant ce n'est pas le cas. Veuillez copier/coller les bits pertinents dans cette réponse (en conservant le lien en tant qu'attribution). –

0

Si vous souhaitez qu'un programme modifie le contenu de DataGridView, modifiez simplement le jeu de données sous-jacent. Le DataSet dispose également de méthodes pour valider ces modifications dans la base de données.

0
DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView; 
DataRow[] rowsToUpdate = new DataRow[] { drv.Row }; 

SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Categories", con); 
SqlCommandBuilder builder = new SqlCommandBuilder(adapter); 
adapter.Update(rowsToUpdate); 
1
DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView; 
DataRow[] rowsToUpdate = new DataRow[] { drv.Row }; 

SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Categories", con); 
SqlCommandBuilder builder = new SqlCommandBuilder(adapter); 
adapter.Update(rowsToUpdate); 
0

J'ai une application qui est connecté à accéder à la base de données. Dans cette application, je l'ai fait comme ceci:

try 
{ 
con.Open(); 

foreach (DataGridViewRow item in this.dataGridView1.SelectedRows) 
{ 
    OleDbCommand cmd = new OleDbCommand(cmdTxt, con); 
    cmd.Parameters.AddWithValue("kurs", c2); 
    cmd.Parameters.AddWithValue("ID", item.Cells[0].Value); 
    cmd.ExecuteNonQuery(); 
} 
} 
catch (Exception exception) 
{ 
MessageBox.Show(exception.Message); 
} 
finally 
{ 
con.Close(); 
} 

Si votre base de données serveur SQL, alors u peut utiliser la classe SQlDbCommand.

Questions connexes