从数据表中选择和更新数据

4
我使用以下代码从数据表中选择数据:
```

我使用以下代码从数据表中选择数据:

```
DataRow[] result = table.Select("Size >= 230 AND Sex = 'm'");

现在我改变了数据行数组结果中的数据,我想更新我的datatable(datatable应该获取这些更改)。哪种方法是最简单的?
在VB6中,我可以在记录集上设置过滤器,编辑我的行并保存更改。使用DataTable是否有类似的方法?
编辑:
我有一个额外的问题。如果我想添加一行新数据,并希望重用相同的代码,该怎么办?
例如像这样:
filteredRows = myDataset.Tables[0].Select("select where id = 1");
if (filteredRow.Lenght == 0) {
filteredRows = myDataset.Tables[0].NewRow();
}
// I wanna use this code, no matter if I edit a row, or if it is a new row.
filteredRows[index]["Name"] = "Max";
filteredRows[index]["Address"] = "Random Address";
filteredRows[index]["WhatEver"] = "...";
//...

我尝试了这种方法,但它并没有影响原始数据集。
3个回答

9

这是更新datatable数据的一种方式....

DataRow[] HRow = dataSet1.Tables["Human"].Select("Size >= 230 AND Sex = 'm'");

HRow[0]["Size"] = 230;

HRow[0]["Sex"] = "m";

这对我来说很好!我以为HRow会是一个独立的数据行。 - user2871190
@user2871190 是的。它是来自您的表格的行,就像您的 result 对象一样。 - Vishal Patel

1

我认为,当您从DataTable.Select更新一行时,DataTable会知道更改,但我不确定,因为我从未遇到过这样的情况。我认为Datarow.AcceptChanges可以实现您想要的功能。但在使用(AcceptChanges)之前,请确保您确实遇到了这样的问题。


0

DataRow[] dr = dt.Select("ItemCode =" + ItemCode);

DataRow[] dr = dt.Select("ItemCode =" + ItemCode);

        dr[0]["ItemName"] = txtItemName.Text;
        dr[0]["ItemName"] = txtItemName.Text;
        dr[0]["GroupCode"] = txtGroup.Text;
        dr[0]["Price"] = txtPrice.Text;
        dr[0]["Descriptions"] = txtDescriptions.Text;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接