Click here to Skip to main content
15,393,377 members
Articles / Database Development
Posted 7 Feb 2013


14 bookmarked

C#.NET – Removing Duplicate Records From DataTable

Rate me:
Please Sign up or sign in to vote.
4.00/5 (1 vote)
13 Feb 2013CPOL1 min read
A function to remove and select unique records from a DataTable in C#.NET and return a clean and duplicate-free DataTable


If a database table contains duplicate records, then it is easy to select unique records by using DISTINCT function, but when a .NET DataTable contains duplicate records, then there is no built-in function to remove or select unique records from a DataTable.


The main goal of this article is to create a function and remove and select unique records from a DataTable in C#.NET and return a clean and duplicate free DataTable.


For removing duplicate records from DataTable, I have created the below function which needs two parameters, DataTable and Column Name. This function is searching for duplicate records in DataTable, given column name from second parameter and adding the row (record) in an ArrayList variable. Then, the record will be deleted from the datatable by running a loop on founded duplicate records.

DataTable containing duplicate records:


Function for Removing Duplicate Records from DataTable

/// <summary>
/// Remove duplicate records from data table
/// </summary>
/// <param name="table">DataTable for removing duplicate records</param>
/// <param name="DistinctColumn">Column to check for duplicate values or records</param>
/// <returns></returns>
public DataTable RemoveDuplicateRows(DataTable table, string DistinctColumn)
        ArrayList UniqueRecords = new ArrayList();
        ArrayList DuplicateRecords = new ArrayList();

        // Check if records is already added to UniqueRecords otherwise,
        // Add the records to DuplicateRecords
        foreach(DataRow dRow in table.Rows)
            if (UniqueRecords.Contains(dRow[DistinctColumn]))

        // Remove duplicate rows from DataTable added to DuplicateRecords
        foreach (DataRow dRow in DuplicateRecords)

        // Return the clean DataTable which contains unique records.
        return table;
    catch (Exception ex)
        return null;

Using the Function

It is very easy to use this function, all you need is to pass the datatable and column name parameters to the function and the function returns the cleaned datatable.


DataTable DuplicateRecords = objDatabase.getTable("SQL Query");
DataTable UniqueRecords = RemoveDuplicateRows
(DuplicateRecords, "Column Name to check for duplicate records");

Clean and duplicate free DataTable using the above function:



The above function selects the first record and deletes others if a duplicate record is found in DataTable.


By using this function, you will be able to clean your datatable from duplicate records.

Feel free to comment, suggest or give your feedback.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Noor Ahmad Feroozi
Software Developer (Senior) Ministry of Education
Afghanistan Afghanistan
No Biography provided

Comments and Discussions

QuestionRemove white space Pin
Andy0720-Mar-17 19:07
MemberAndy0720-Mar-17 19:07 
Questionthanks Pin
loveleshsgsits19-Mar-15 7:02
Memberloveleshsgsits19-Mar-15 7:02 
GeneralMy vote of 5 Pin
Bandi Ramesh15-Feb-13 23:17
MemberBandi Ramesh15-Feb-13 23:17 
SuggestionWhat do you think about this codes? Pin
LightEach14-Feb-13 14:04
MemberLightEach14-Feb-13 14:04 
QuestionIs this column based? Pin
ortund14-Feb-13 0:37
Memberortund14-Feb-13 0:37 
QuestionHow about multiple column unique? Pin
johnchen8813-Feb-13 8:59
Memberjohnchen8813-Feb-13 8:59 
AnswerRe: How about multiple column unique? Pin
Noor Ahmad Feroozi13-Feb-13 9:31
MemberNoor Ahmad Feroozi13-Feb-13 9:31 
AnswerRe: How about multiple column unique? Pin
Richard Beatty20-Jan-15 7:56
MemberRichard Beatty20-Jan-15 7:56 
QuestionWorks perfectly Pin
Gorata10-Feb-13 23:30
MemberGorata10-Feb-13 23:30 
SuggestionAlternative technique 2 Pin
RogerDW8-Feb-13 5:04
MemberRogerDW8-Feb-13 5:04 
GeneralRe: Alternative technique 2 Pin
thatraja4-Feb-14 1:52
professionalthatraja4-Feb-14 1:52 
SuggestionAlternative technique 1 PinPopular
RogerDW8-Feb-13 5:00
MemberRogerDW8-Feb-13 5:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.