【问题标题】:how to filter duplicate records in multiple columns in asp.net如何过滤asp.net中多列中的重复记录
【发布时间】:2016-09-13 09:01:34
【问题描述】:

如何过滤多列中的重复记录。

我试过代码:

select distinct col1,col2,col3 from collection   

select col1,col2,col3 from collection Group By col1,col2,col3  

我需要删除 col1、col2 和 col3 中的重复行。
我也尝试使用 Group By 关键字,但它也显示了所有重复项。

protected void Page_Load(object sender, EventArgs e)
{
   if(!IsPostBack)
   {
               string query = "select  distinct Col1,col2,col3,col4,col5 from Collection";
                SqlCommand cmd = new SqlCommand(query, con);
                DataTable dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
                dropdown1.DataSource = dt;
                dropdown1.DataTextField = "Col1";
                dropdown1.DataValueField = "Col1";
                dropdown1.DataBind();
                Gridview1.DataSource = dt;
                Gridview1.DataBind();
}
}

我需要在没有 col1 重复列的情况下绑定到下拉列表,并且同时基于 col1 绑定 gridview。在我的网格视图中,所有列都可以显示
任何人都可以请告诉如何做到这一点。

谢谢

【问题讨论】:

  • 如果您想从col1,col2,col3 中删除重复项,那么这两个查询都应该可以工作
  • 您的查询看起来很完美..向我们提供每列的数据类型
  • 两个查询都有效。请提供一个实际示例,说明您尝试了什么、得到了什么以及您期望什么。您确定没有将重复行与空格混淆吗?
  • col1 and col3var char 数据类型和col2 is date time 数据类型
  • 请显示您的初始表和最终输出表

标签: asp.net sql-server


【解决方案1】:

如果您只使用 col1 来绑定客户端下拉菜单,那么为什么选择所有 col1,col2,col3...

只需选择 col1:

string query = "select  distinct Col1 from Collection";

试试下面的代码绑定下拉菜单:

DataTable dtDropdown=new DataTable();
DataColumn dc=new DataColumn("col1");
dtDropdown.merge(dt)//dt means your output table with all column

现在分配如下:

dropdown1.DataSource = dtDropdown;
dropdown1.DataTextField = "Col1";

【讨论】:

  • 如果只选择所需的列,它在数据集中也总是不同的
  • 我也尝试了这个查询,我还需要在 gridview 中绑定 gridview 我获取表的所有列。我尝试了该查询,同时我尝试绑定 gridview 缺少它的某些字段或属性引发了错误
  • 您必须编写两个单独的调用或者您必须仅过滤一个 col1 列以进行下拉绑定
  • 我已经更新了使用同一个表进行下拉绑定检查的答案,我没有运行只是编写代码,所以可能 90% 的工作
猜你喜欢
  • 2013-01-10
  • 2015-11-20
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多