如何在数据库中更新dataGrid

时间:2009-04-04 10:22:58

标签: c#

在我的C#项目中,我从DataTable填充了DataGrid中的值。现在,如果我对DataGrid中的值进行更改,我需要在DataBase中更新它们。我正在使用MS访问。 以下是我如何在DataGrid中填充值的代码片段。

                    while (myReader.Read())
                {
                    frmBind.dr = frmBind.dtResults.NewRow();
                    frmBind.dr["ClassName"] = myReader.GetString(0);

                    frmBind.dr["MethodSignature"] = myReader.GetString(1);

                    frmBind.dr["ParameterValues"] = myReader.GetString(2);
                    frmBind.dr["ExpectedResults"] = myReader.GetString(3);


                    frmBind.dtResults.Rows.Add(frmBind.dr);

                }

                frmBind.dataGrid2.DataSource = frmBind.dtResults;

其中, dtResults是DataTable, frmBind是一个类对象, dataGrid2是DataGrid, myReader.Read()用于从DataBase中获取值。

2 个答案:

答案 0 :(得分:1)

简单的方法是使用xxxADapter(取决于您使用的ADO Provider)。

请检查您是否有充分的理由不使用拖放功能(至少对于初学者而言)。 以下是一些useful videos,请先查看有关数据集的内容。

如果要使用xxxCommands执行此操作,则需要InsertCommand,UpdateCommand和DeleteCommand。您遍历行并检查RowState。如果RowState == DataRowState.Added则使用InsertCommand等。

首先可以方便地使用dtchanged = dtResults.GetChanges(),并循环显示给您的记录。

答案 1 :(得分:1)

我建议您放弃datareader。

将SQLDataSource拖到页面上并使用您的查询进行配置。它将为您提供阅读/更新,而无需编写任何代码。