2011-07-29 7 views
0

중복 기록과 관련하여 문제가 있습니다. 아래에 표시된 것처럼 tbl_Kisiler라는 표가 있습니다. 중복 기록

ID  Adi 
--- ---- 
1  harun 
2  ahmet 
3  melis 
2  ali 

나는 위 table.My 질문과 같은리스트 박스가 있습니다 : 나는 C# 괜찮나에서 이러한 중복 ID 기록은 내가 그렇게 할 수있는 새로운 내부 목록 상자를 이동하려면?


ID,  Adi,  
----  ----  
1  harun 
3  melis 
2  ali 

건배,

+1

uhm .. 질문을 다시 할 수 있습니까? D – Zekareisoujin

답변

0

그게 당신이 무엇을 원하는 경우 개미 내가 잘못 이해 한 경우

var duplicateIDs = from r in records 
        group r by r.id into g 
        where g.Count() > 1 
        select g.Key; 

var duplicateRecords = from r in records 
         where duplicateIDs.Contains(r.id) 
         select r; 

var nonDuplicateRecords = from r in records 
          where !duplicateIDs.Contains(r.id) 
          select r; 

listBox2.DataSource = duplicateRecords.ToList(); 
listBox1.DataSource = nonDuplicateRecords.ToList(); 

사과를 중복을 선택 LINQ를 사용하여, 중복 ID를 가진 레코드를 포함하는 새로운 목록 상자, 즉

ID Adi 
--- ---- 
2 harun 
2 ali 

을 만들 수 있습니다 너의 질문. Linq 쿼리가 향상 될 수 있다고 확신합니다. 누군가가 좀 더 유창한 방법으로 제안 할 수 있기를 바랍니다.

+0

@ DoctorMick- 답장을 보내 주셔서 감사합니다. 중복 ID를 선택한 후 새로운 목록 상자로 이동하고 싶습니다. 어떻게해야합니까? – Selo

+0

@Selo - 내 대답을 업데이트했습니다. 지금 생각하고있는대로해야한다고 생각합니다. – DoctorMick

+0

고마워요. 마지막 질문을하고 싶습니다. 그 반대입니다. 중복 ID가없는 레코드가 들어있는 목록 상자는 어떻게 만들 수 있습니까? 내 질문을 업데이트했습니다. – Selo