1
このメソッドは例外をスローしません。また、読み取ったcsvファイルから行を返しません。私は間違って何をしているのか分からない。csvファイルをデータテーブルにインポートすると結果が返されない
ご迷惑をおかけして申し訳ありません。
public string ImportCsvFile(string filePath)
{
FileInfo file = new FileInfo(filePath);
//string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + file.DirectoryName + "\" Extended Properties='text;HDR=Yes;FMT=Delimited(,)';";
string connString = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};" + @" Extended Properties={1}", file.DirectoryName, "'Text;HDR=YES;FMT=CSVDelimited'");
using (OleDbConnection con = new OleDbConnection(connString))
{
OleDbCommand cmd = new OleDbCommand(string.Format("SELECT * FROM [{0}]", file.Name), con);
// Using a DataTable to process the data
try
{
con.Open();
ds = new DataTable("MyTable");
OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
adp.Fill(ds);
foreach (DataRow row in ds.Rows)
{
System.Diagnostics.Debug.WriteLine(row.ToString());
}
}
catch (Exception error)
{
String errorString;
errorString = "Error occurred while importing data from source file." + System.Environment.NewLine +
"Error Message: " + error.Message + System.Environment.NewLine +
"Stack Trace: " + error.StackTrace;
return errorString;
}
}
return "File imported to DataTable";
}
ここでちょうど刺すが、con.close()は表示されません。 – David
"using"ステートメントでは、.Close()呼び出しは必要ありません。接続を閉じて処分します。 –