我有一个从数据集中提取的数据表。从数据表中,我想使用 Where 子句返回特定行。我查看了“How can I select a row from a datatable using two variable values? ”,但出现错误



我搜索了谷歌,但找不到解决方案。

我的代码是:

mySqlDataAdapter.Fill(myDataSet);

DataTable dtTable = myDataSet.Tables[0];
DataRow dr = dtTable.Select("VendorID = " + Session["VendorId"].ToString());

我该如何解决这个问题?

最佳答案

即使您的查询仅选择一行,DataTable 的 Select 方法也会返回一个 DataRow 数组

DataRow[] dr = dtTable.Select("VendorID = " + Session["VendorId"].ToString());

然后,如果您真的只需要一行,您可以轻松获取预期的行,检查数组的长度。在这种情况下,我认为真的不需要花哨的 Enumerable 扩展方法
if(dr.Length > 0)
{
    string avalue = dr[0]["AColumnName"].ToString();
    ...
}

10-06 06:58