2012-01-24 7 views
4

私はその中に複数の行を持つデータテーブルを持っています。私は1行があり、この行がデータテーブル内の既存の行と重複しているかどうかをチェックしたいと思います。だから私は次のように試してみました:ここ2つのデータローを比較する

​​

、私のdataTableも初めて/ nullを空にすることができます。

表が主キーを持っていません:として

しかし、その与えエラー。

誰でも教えてください。追加のコードが必要な場合は、単にコメントしてください。

+0

あなたがデータベースから読み取るために使用するテーブルは、[プライマリキー](http://msdn.microsoft.com/en-を持っていないことを前提としていus/library/aa933092(v = sql.80).aspx)(データベース自体)?それはそうではないようです... –

+0

はいそれは確かにデータベースの主キーを持っています – Sandy

+0

あなたは 'dataTable.PrimaryKey'プロパティのためにどうしますか? –

答えて

1

DataTableオブジェクトにPKを追加できませんか?私はあなたがあなたのテーブルにはdoesnのことを伝えるエラーを取得している場合は、あなたのdt変数は、あなたのdataTable変数ことになっていることを前提としてい

dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["Id"] }; 
+0

テーブルと同じエラーを生成するには主キーがありません。テーブルが初めて空であることを覚えておいてください – Sandy

+0

edit postを参照してください......... – Sandy

0
​​

私は、コードはこのようなものになるだろうと思います間違った変数を使用しているために主キーが存在する可能性があり、使用しようとしている変数に関連付けられている主キーまたはテーブルが実際に存在しないためです。

ので、私は、コードは次のようになります。代わりに

DataTable dataTable = GetTable(); 
if (dataTable.Rows.Count > 1) 
{ 
    for (int i = 0; i < dataTable.Rows.Count; i++) 
    { 
     var dataRow = dataTable.Rows[i]; 

     if (dataTable.Rows.Contains(dataRow) && dataTable.Rows.Count != 0) // Giving error 
      continue; 
     dataTable.ImportRow(dataRow); 
     return dataRow; 
    } 
}