Datatable 中的数据查询(查询不重复记录)
http://blog.csdn.net/lovexiaoxiao/article/details/3734932
//在sql中我们使用distinct查询不重复记录
//然而我在项目中表关系的设置,就不能使用distinct,必须把数据读出来以后才能进行查询,下面写了一个方法用Dataview实现这个功能
private void test()
{
DataTable dt = new DataTable();
//定义表结构
dt.Columns.Add("id", typeof(System.Int32));
dt.Columns.Add("name", typeof(System.String));
//添加第一行数据 (并且添加重复数据)
DataRow drs01 = dt.NewRow();
drs01[0] = 1;
drs01[1] = "xiaoyu";
dt.Rows.Add(drs01);
//添加第二行数据
DataRow drs02 = dt.NewRow();
drs02[0] = 2;
drs02[1] = "xiaowang";
dt.Rows.Add(drs02);
//添加第三行数据
DataRow drs03 = dt.NewRow();
drs03[0] = 3;
drs03[1] = "xiaoyu";
dt.Rows.Add(drs03);
//添加第四行数据
DataRow drs04 = dt.NewRow();
drs04[0] = 4;
drs04[1] = "yujinsheng";
dt.Rows.Add(drs04);
//将Table填充到DataView并添加新的数据
DataView dataView = new DataView(dt);
//没有经过DataView 筛选的name
Response.Write("没有筛选条件的数据<br/>");
foreach (DataRow dr in dataView.Table.Rows)
{
Response.Write(dr["name"]+"<br/>");
}
//经过DataView筛选name 字段不重复的数据
DataView myDataView = new DataView(dt);
string[] strComuns ={"name"};
DataTable nn= myDataView.ToTable(true, strComuns);
Response.Write("名字不重复的数据<br/>");
foreach (DataRow dr in nn.Rows)
{
Response.Write(dr["name"]+"<br/>");
}
}
运行效果:
没有筛选条件的数据
xiaoyu
xiaowang
xiaoyu
yujinsheng
名字不重复的数据
xiaoyu
xiaowang
yujinsheng