0

重複しているgesellschaft_idを選択したいと思います。以下のコードを使用しました。これは、個別のgesellschaft_idを選択しています。その行を選択するためのselect式を作成するにはどうすればよいですか?gesellschaft_idはデータテーブルでより多くの値を持っていますか?

foreach (DataRow dr1 in table1.Rows)
        {
            DataRow[] drDup = table2.Select("('" + dr1[0].ToString() + "' = gesellschaft_id ) AND Count(gesellschaft_id)>1");

        }
4

3 に答える 3

1

これにより、複数の行に存在するDataRowaを持つsが得られます。gesellschaft_id

var rowsWithADuplicateGesellschaftId = table1.Rows
    .Cast<DataRow>()
    .GroupBy(row => row["gesellschaft_id"])
    .Where(group => group.Count() > 1)
    .ToArray();
于 2012-11-30T10:15:12.097 に答える
1

最初の列が重複をチェックしたい列であると仮定して、このようなことを行うことができます。もちろん、これは、Linqが使用可能であることを前提としています。

var duplicateIds = table2.AsEnumerable()
                         .GroupBy(row = row[0])
                         .Where(x => x.Count() > 1);

質問にもう少し詳細を追加すると、それが役立ちます。

于 2012-11-30T10:08:59.597 に答える
1
public ArrayList FindDuplicateRows(DataTable dTable, string colName)
{
   Hashtable hTable = new Hashtable();
   ArrayList duplicateList = new ArrayList();

   //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); 
   }

      return duplicateList;
}

また、リンクの重複検索と追加/削除も役立ちます。

http://www.dotnetspider.com/resources/4535-Remove-duplicate-records-from-table.aspx

http://www.dotnetspark.com/kb/94-remove-duplicate-rows-value-from-datatable.aspx

于 2012-11-30T10:06:33.460 に答える