在我的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中获取值。
答案 0 :(得分:1)
简单的方法是使用xxxADapter(取决于您使用的ADO Provider)。
请检查您是否有充分的理由不使用拖放功能(至少对于初学者而言)。 以下是一些useful videos,请先查看有关数据集的内容。
如果要使用xxxCommands执行此操作,则需要InsertCommand,UpdateCommand和DeleteCommand。您遍历行并检查RowState。如果RowState == DataRowState.Added
则使用InsertCommand等。
首先可以方便地使用dtchanged = dtResults.GetChanges()
,并循环显示给您的记录。
答案 1 :(得分:1)
我建议您放弃datareader。
将SQLDataSource拖到页面上并使用您的查询进行配置。它将为您提供阅读/更新,而无需编写任何代码。