我正在向DataSet中添加兩個表,我想檢查它們是否相等。如何在asp.net中使用HashSet比較兩個DataSet c#
我已經嘗試的代碼是:
SqlDataAdapter mydat = new SqlDataAdapter("Select Device_Profile_Param+'='+Device_Profile_Default_Value AS SettingsCheck From Device_Profile_Master Where Device_Profile_Name = '" + Label5.Text + "'", con);
DataTable dt = new DataTable();
mydat.Fill(dt);
DataSet dset = new DataSet();
dset.Tables.Add(dt);
SqlDataAdapter mydata = new SqlDataAdapter("Select Device_Profile_Param+'='+Device_Profile_Default_Value AS Settings From Device_Profile_Master Where Device_Profile_Name = '" + For_Profile_Num.Items[i] + "'", con);
DataTable dt2 = new DataTable();
mydata.Fill(dt2);
dset.Tables.Add(dt2);
var hashSet1 = new HashSet<string>(dset.Tables[0].Rows.Cast<ListItem>().Select(x => x.Value));
var hashSet2 = new HashSet<string>(dset.Tables[1].Rows.Cast<ListItem>().Select(x => x.Value));
var result = hashSet1.SetEquals(hashSet2);
if (result == true)
{
found = 1;
}
我得到一個出錯數據集不能被強制轉換爲列表項。請幫助。
它是否需要投入ListItem的行?你可以這樣寫:'dset.Tables [0] .Rows.Select(x => x [「ColumnName」]。value)' – opewix
我試過說DataSet Row沒有任何Select方法。 –