填充DataTable并丢失第一行

时间:2013-08-20 23:45:44

标签: c# csv datatable odbc oledb

嘿所以我正在使用OleDB驱动程序查询CSV文件,然后将其加载到数据表中。不管我做什么,它总是会跳过第一排。这就是我所拥有的:

string connStr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};" +
            "Dbq=C:/test;Extensions=csv,txt";


OdbcConnection objCSV = new OdbcConnection(connStr);
objCSV.Open();

OdbcCommand testCmd = new OdbcCommand("Select * from test.csv", objCSV);

OdbcDataAdapter testDA = new OdbcDataAdapter(testCmd);

DataTable testDT = new DataTable();

testDA.Fill(testDT);

所以看一下像这样的样本数据:

"IDX", "FirstName", "LastName", "Email" 
"340", "John", "Smith", "test@test.com"
"341", "Johnny", "Smithee", "test@test.com"

我总是只得到1条记录,无论有多少记录,都会失去第一条记录。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

尝试告诉提供商有标题行,如下所示:

string connStr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};" +
        "HDR=Yes;Dbq=C:/test;Extensions=csv,txt";