請問用ado讀取csv的問題...欄位會讀不到變成空白 |
尚未結案
|
tack8800
一般會員 發表:11 回覆:4 積分:3 註冊:2006-07-22 發送簡訊給我 |
目前小弟有一個csv檔案格式的文件
其實不過就是用逗號作區隔的文字檔 內容為下 F0001,10000T,5,3,6,1 F0002,5000,5,3,6,1 F0003,3000,5,3,6,1 F0004,2000,5,3,6,1 但是當用ADO連結讀取裡頭的內容實發生了很奇怪的事件 就是第一行的10000T會變成空白也就是null 但是啊,如果第二欄的欄位全為整數而沒有字元 就全都讀的到 或者最後一行的第二欄為字元格式也都讀的到沒有null 發現只有在最後一行的第二欄為整數時,如果其他行的第二欄為字元格式就讀不到 請問有沒有大大了解為什麼會這樣,或者有什麼辦法可以解決 但是在無法變更這個csv文件的前提之下解決 也不要用其他的方式寫,我想問的是有沒有改變什麼連結的方法可以解決目前這問題 ADO.ConnectionString的連結語法為 Provider=Microsoft.Jet.OLEDB.4.0;Data Source='檔案位置/1.csv';Extended Properties="Text;HDR=NO;FMT=Delimited;CharacterSet=ANSI";Persist Security Info=False ADOquery的SQL為 select F1,F2,F3,F4,F5,F6,F7,F8,F9,F10 from 檔案位置/1.csv |
douglas
初階會員 發表:24 回覆:42 積分:38 註冊:2008-03-05 發送簡訊給我 |
說實話,我不知道ADO可以讀資料....拍謝~我還是剛入門的菜鳥
我提供我讀CSV的方法: isFile : Textfile; Str : String; AssignFile(isFile, '檔案路徑'); ReSet(isFile); //開啟舊檔 ReadLn(isFile,Str); //逐行讀取 dot := ','; //存入逗號 P := Position(dot, Str); //取得逗號的位置 getdata := Copy(Str, 1, P-1); //取得第一個欄位值 Str := Copy(Str, P 1,Length(Str)-P); //重新取得 (濾掉已經取值的欄位) //上面這行, 看是要用Delet也行啦, 看你的需求 跑完迴圈, 就取完ㄧ行資料了.
編輯記錄
douglas 重新編輯於 2008-03-18 21:52:23, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |