Csh*_*arp 3 c# datatable datarow dataset where-clause
我有一个DataTable,我从DataSet中提取.从DataTable,我想使用Where子句返回特定的行.我看了" 如何使用两个变量值从数据表中选择行? "但是我收到错误
"无法将类型'System.Data.DataRow []'隐式转换为'System.Data.DataRow'"
我搜索谷歌,但找不到解决方案.
我的代码是:
mySqlDataAdapter.Fill(myDataSet);
DataTable dtTable = myDataSet.Tables[0];
DataRow dr = dtTable.Select("VendorID = " + Session["VendorId"].ToString());
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Ste*_*eve 15
即使您的查询只选择一行,DataTable 的Select方法也会返回DataRow数组
DataRow[] dr = dtTable.Select("VendorID = " + Session["VendorId"].ToString());
Run Code Online (Sandbox Code Playgroud)
然后,如果你真的只想要一行,你可以很容易地获取预期的行检查数组的长度.在这种情况下,我认为真的不需要花哨的Enumerable扩展方法
if(dr.Length > 0)
{
string avalue = dr[0]["AColumnName"].ToString();
...
}
Run Code Online (Sandbox Code Playgroud)