Forums » .NET » .NET »

Duplicate values are not displaying in proper order


Posted Date: 29 Mar 2012      Posted By:: SivaSaiKrishna     Member Level: Silver  Member Rank: 0     Points: 5   Responses: 1

I have column(IHno) in a Table, this coloumn is like

Ihno
1
1
2
3
4
4
7
8
9



and 2 textboxes in Windows Application like IhnoFrom(textboxname) and IhnoTo(textboxname)
in these textboxes i want to give input like range from 1 to 10 1(in IhnoFrom Txtbox) to 10 (in IhnoTo Txtbox)

in these range we find and Display MISSING Numbers and DUPLICATE numbers in IHNO column ,in above column Missing nums are 5,6,10. and Duplicate nums are 1,4 in Gridview

Here is my code :

int Start = Convert.ToInt32(txtIhFrm.Text);
int End = Convert.ToInt32(txtIhTo.Text);
//SqlConnection con = new SqlConnection("server=.;integrated security=true;database=DotNetSpider");
DataTable dt = new DataTable();
SqlDataAdapter sqlda = new SqlDataAdapter("SELECT * FROM " + strDbname + "..paid_tran where Batch_no='" + label9.Text.ToString() + "' and Ihno >='" + txtIhFrm.Text.ToString() + "' and Ihno <= '" + txtIhTo.Text.ToString() + "'", cn);
sqlda.Fill(dt);

string Duplicates="";
string Missing ="";
ArrayList AlUniqueValues = new ArrayList();
foreach (DataRow dr in dt.Rows)
{
if (Convert.ToInt32(dr["Ihno"]) >= 2)
{
Duplicates += Convert.ToString(dr["Ihno"]) + ",";
}
AlUniqueValues.Add(Convert.ToString(dr["Ihno"]));
}

for (int i = Start; i <= End; i++)
{
if (!AlUniqueValues.Contains(Convert.ToString(i)))
{
Missing += Convert.ToString(i) + ",";
}
}

MessageBox.Show("Missing Values: " + Missing.TrimEnd(',') + "\nDuplicate Values: " + Duplicates.TrimEnd(','));
}
}

o/p:Missing nos are 12,14 (its correct)
Duplicate nos are 11,11,13,15


it should display only 11 as duplicate value but its displaying complete range of values.









Thanks nd Regards,

A.SivaSaiKrishna.

+91 9703885006.
E-Mail::sivasaikrishna11@gmail.com.


Responses

#664714    Author: ni nj a      Member Level: Gold      Member Rank: 0     Date: 02/Apr/2012   Rating: 2 out of 52 out of 5     Points: 3

hi,

please change your code like below



List<string> missingList = new List<string>();



for (int i = Start; i <= End; i++)
{
if (!AlUniqueValues.Contains(Convert.ToString(i)))
{

if (!missingList.Contains(Convert.ToString(i)))
missingList.Add(Convert.ToString(i));

}
}



-J


 
Post Reply     

 This thread is locked for new responses. Please post your comments and questions as a separate thread.
If required, refer to the URL of this page in your new post.





  • Return to Discussion Forum
  • Start new thread


  • Subscribe to Subscribers
    Active Members
    TodayLast 7 Daysmore...

    Awards & Gifts
    Talk to Webmaster Tony John

    Online Members

    Mahendra
    More...
     
    Copyright © SpiderWorks Technologies Pvt Ltd., Kochi, India