This code sample shows how to identify and remove duplicate records from a dataset/datatable.
Following Code will take inputs datatable and column name wherein we need to find duplicates items and remove.
public DataTable RemoveDuplicateRows(DataTable dTable, string colName) { Hashtable hTable = new Hashtable(); ArrayList duplicateList = new ArrayList();
//Add list of all the unique item value to hashtable, which stores combination of key, value pair. //And add duplicate item value in arraylist. foreach (DataRow drow in dTable.Rows) { if (hTable.Contains(drow[colName])) duplicateList.Add(drow); else hTable.Add(drow[colName], string.Empty); }
//Removing a list of duplicate items from datatable. foreach (DataRow dRow in duplicateList) dTable.Rows.Remove(dRow);
//Datatable which contains unique records will be return as output. return dTable; }
Example showing how to use above method:
protected void Button1_Click(object sender, EventArgs e) { string strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); SqlConnection conn = new SqlConnection(strConn); SqlDataAdapter da = new SqlDataAdapter("select * from emp", conn); DataSet ds = new DataSet(); da.Fill(ds, "Emp"); // Filling a employee table DataTable dt = ds.Tables["Emp"]; dt = RemoveDuplicateRows(dt, "empname");
GridView1.DataSource = ds.Tables["Emp"].DefaultView; GridView1.DataBind(); }
|
| Author: Varma Suresh 14 Oct 2009 | Member Level: Gold Points : 1 |
hi,It is good ,Is their any pre defined method to do.
thankyou.. . varma
|