2013-08-20 34 views
2

嘿所以我使用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", "[email protected]" 
"341", "Johnny", "Smithee", "[email protected]" 

我總是隻得到1分的記錄,失去了先不管多少條記錄都在那裏。有任何想法嗎?

回答

3

試着告訴供應商,有一個標題行,像這樣:

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

謝謝,其實我發現我的問題是與misformatted CSV數據,我串連我的問題的信息,但是最終的頭球被錯過了一個結束語,所以它通過了一切。儘管如此,我並不瞭解HDR,但實際上對我來說非常有用,所以非常感謝! – KJ3