0

データベースにPNUMSET(主キー)という名前の列が1つあり、一意のデータが含まれています(約1L行)

アプリケーションでは、データを含む1つの列名NEWPNUMを持つ1つのデータテーブルがあります。

既存のデータベースと現在のデータテーブルの値が一致していないことを確認したい。

注:-データベースとデータテーブルで同じ行がある場合とない場合があります。

これまでに試しました.....

           String query = "Select PNUMSET FROM DUMMYTABLE";
           MySqlDataAdapter msda = new MySqlDataAdapter(query, connection);
           msda.Fill(dt);                

            for (int k = 0; k < Class1.global_dataset.Tables[0].Rows.Count; k++)
            {
                if (dt.Rows.Contains(Class1.global_dataset.Tables[0].Rows[k][4].ToString()))
                {
                    MessageBox.Show("Baj Gaya Ghanta!!!!");
                }
            }
4

1 に答える 1

2

次に、この列の両方のテーブルLinq-To-DataTable結合するために使用できます。次に例を示します。

var commonRows = from r1 in dt.AsEnumerable()
                 join r2 in Class1.global_dataset.Tables[0].AsEnumerable()
                 on r1.Field<int>(4) equals r2.Field<int>(4)
                 select r1;
if(commonRows.Any())
{
    // do something with these rows
}

(5列目とそのタイプを想定int

Enumerable.Join非常に効率的ですが、すべてをメモリにロードするのではなく、データベースでこれを比較する方がよい場合があることに注意してください。

于 2013-01-03T11:44:25.830 に答える