我有一个 DataGrid,有大约 100 个不同的条目,我想遍历每一行,并从数据库中获取一个字段(该字段是 URL),变成一个字符串。基本上我有代码来使用HTMLAgilityPack,但我想对数据库中的每一行执行此操作,并根据返回的屏幕抓取更新数据库。
- 循环遍历每一行
- 将每个 URL 存储到一个字符串中
- 使用 HtmlAgilityPack 完成屏幕抓取
- 使用从第 3 步返回的值更新数据库字段“价格”
您可以遍历数据网格中的所有行并将特定列的值添加到字符串列表中。
var hyperlinks = new List<string>();
var indexOfColumn = 2;
foreach (DataGridViewRow row in dgvDataGridView.Rows)
{
hyperlinks.Add(((DataGridViewCheckBoxCell)row.Cells[indexOfColumn]).Value);
}
然后使用超链接列表并根据您在步骤 4 中的需要更新数据库。我会说您可以在 foreach 语句中更新数据库,而不必费心添加到超链接列表中,但是对于 100 行,这可能会非常昂贵,除非您有批处理或类似的东西,所以你实际上每 20 次左右更新一次才访问数据库。