0

私はC#にかなり慣れていませんが、Excelドキュメントからデータテーブルにデータを取り込み、SQLストアドプロシージャからデータテーブルにデータを取り込むことができました。ここで、Excel データテーブルをループして、SQL データテーブルと一致しないものを見つける必要があります。また、必ずしも最初の列ではない特定の列名からマッチングを開始したいと考えています。アイデアや指針はありますか?ありがとうございました!!

これが私のコードです

foreach (DataRow row in excelTb.Rows) // Loop over the rows.
{
    Console.WriteLine("--- Row ---"); // Print separator.
    foreach (var item in row.ItemArray) // Loop over the items.
    {
        Console.Write("Item: "); // Print label.
        Console.WriteLine(item); // Invokes ToString abstract method.
    }
}
Console.Read(); // Pause.*/
4

1 に答える 1

1

あなたの意図が正しいかどうかはわかりませんが、特定の列であるデータテーブルから別のデータテーブルに行を比較するだけで、これを試すことができます:

private void compareDataTables()
{
  // I assume that datatables are of same length
  for(int i = 0; i < excelDataTable.Rows.Count; i++)
  {
    // Assuming that given columns in both datatables are of same type
    if(excelDataTable.Rows[i]["col_name"] == sqlDataTable.Rows[i]["col_name"])
    {
      //your code
    }
}

列名の印刷:

string names = "Excel table: \n";
foreach (DataColumn dc in excelDataTable.Columns)
{
    names += dc.ColumnName+"\n";
}

names += "Sql table: \n";
foreach (DataColumn dc in sqlDataTable.Columns)
                {
                    names += dc.ColumnName+"\n";
                }
MessageBox.Show(names);
于 2013-10-19T00:18:00.847 に答える