有时候需要对查询到的结果进行再次筛选,比如得到的查询结果是DataTable dt:
string strSql="select UserName,Sex,Birthday from [MyUser]";
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(strSql, Conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
要对在结果dt里筛查出Sex=1的记录,可以用dt.Select("Sex=1"),但是这样得到的结果是一个DataRow[] 数组,不能直接绑定到页面上,虽然可以用循环将DataRow[] 数组的数据行添加到新的DataTable里面再绑定,但比较麻烦又影响性能,这种情况下可以不用dt.Select("Sex=1"),可以这样写:
dt.DefaultView.RowFilter = "Sex=1";
dt=dt.DefaultView.ToTable();
这样的结果依然是DataTable,可以直接绑定了