-1

アプリケーションに 1 つの問題があります。2 つの SQL クエリ結果から 2 つの CSV ファイルを作成する必要があります。私はそれを作成しました。StreamWriterデータをCSVファイルに書き込むために使用しています。

私の問題は、最初のクエリ結果が2番目のファイルにも書き込まれることです。私は使用StreamWriter.Close()しましたが、出力で同じ動作が見られます。

using (StreamWriter sw = new StreamWriter(strFilePath, false))
{
    foreach (DataRow dr in dt.Rows)
    {
        for (int i = 0; i < iColCount; i++)
        {
        }
     }
 }
4

1 に答える 1

1

StreamWriter(または実際には任意のIDisposableリソース) が閉じられていることを確認する最善の方法は、using可能な場合はステートメントを使用することです。方法は次のとおりです。

using (var writer = new StreamWriter(@"c:\output\file1.csv")) {
    foreach (IDataReader row in myQueryResults) {
        writer.WriteLine("{0},{1},{2}", row.GetString(0), row.GetString(1), row.GetString(2));
    }
}

using通常または例外によってステートメントのスコープが終了すると、writerは自動的に閉じられます。

于 2012-10-10T12:36:28.230 に答える