0
私は、ファイルのメソッドから複数回読み出すには、以下のOleDbCommandを使用しています。私が抱えている問題は、データ型を文字列として返すことがほとんどですが、ときどき(データの内容によっては)返されるint型が返されることです。すべての列が一度ロードされると変換することなく、文字列として返すように要求する方法はありますか?の定義のOleDbCommand戻り値の型
static DataTable GetDataTableFromCsv(string path, bool isFirstRowHeader)
{
string header = isFirstRowHeader ? "Yes" : "No";
string pathOnly = Path.GetDirectoryName(path);
string fileName = Path.GetFileName(path);
string sql = @"SELECT * FROM [" + fileName + "]";
using (OleDbConnection connection = new OleDbConnection(
@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathOnly +
";Extended Properties=\"Text;HDR=" + header + "\""))
using (OleDbCommand command = new OleDbCommand(sql, connection))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
DataTable dataTable = new DataTable();
dataTable.Locale = CultureInfo.CurrentCulture;
adapter.Fill(dataTable);
return dataTable;
}
}
は、あなたが '' LINQ''を聞いたことがありますように、それを行う方法を示していますか?これは、LINQでもっと簡単に行うことができるようなものです。 – abhi
@abhiテキストファイルからのDatatable?私は上記のものを与えられた例が大好きです。 – windowskm
スキーマファイルが必要です。 https://stackoverflow.com/questions/12259562/how-can-i-create-schema-ini-file-i-need-to-export-my-csv-file-to-datagridview:次の投稿を参照してください。 – jdweng