使用ADO讀取文字檔的問題 |
尚未結案
|
iamkch
一般會員 發表:3 回覆:4 積分:1 註冊:2003-09-04 發送簡訊給我 |
請問一下,我用ADO讀取如下的「文字檔」時,aa這個欄位為何是空白的?
F1,F2,F3
111,aaa,11
222,bbb,22
333,ccc,aa 我的ConnectionString為
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Borland\Delphi5\Projects\TextDb;Extended Properties="Text;IMEX=1";Persist Security Info=False';
是否IMEX屬性只在Excel檔下才有效呢???????
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
因為文字資料表的 schema 是存在 schema.ini 檔中的, 所以請你 check 一下看看 schema.ini 檔中, 該欄位是不是 char, 若是 integer 的話, 自然是不能顯示數字的, 如: --------------------------------
這樣是 ok 的 schema.ini
[table3.txt] ColNameHeader=True CharacterSet=950 Format=CSVDelimited Col1=F1 Char Width 10 Col2=F2 Char Width 10 Col3=F3 Char Width 10-------------------------------------------- 這樣是顯示不出來 aa 的 schema.ini [table3.txt] ColNameHeader=True CharacterSet=950 Format=CSVDelimited Col1=F1 Char Width 10 Col2=F2 Char Width 10 Col3=F3 Integer |
iamkch
一般會員 發表:3 回覆:4 積分:1 註冊:2003-09-04 發送簡訊給我 |
[quote]
因為文字資料表的 schema 是存在 schema.ini 檔中的, 所以請你 check 一下看看 schema.ini 檔中, 該欄位是不是 char, 若是 integer 的話, 自然是不能顯示數字的, 如: --------------------------------
這樣是 ok 的 schema.ini
[table3.txt] ColNameHeader=True CharacterSet=950 Format=CSVDelimited Col1=F1 Char Width 10 Col2=F2 Char Width 10 Col3=F3 Char Width 10timhuang先生您好: 很感謝您的指導,我依照您所說的方法去做,果然可以了,但是我還有一個問題要請教您,如果我的文字檔裡欄位的「名稱」和「數量」並不是固定的,也就是說schema.ini檔無法事先產生,那我可以設定所有欄位都是以文字型態讀出嗎? |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
iamkch
一般會員 發表:3 回覆:4 積分:1 註冊:2003-09-04 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
可以將 schema.ini 裡的資料就依欄數設定相同的欄位格式即可: [table3.txt]
ColNameHeader=True
CharacterSet=950
Format=CSVDelimited
Col1=F1 Char Width 10
Col2=F2 Char Width 10
Col3=F3 Char Width 10
Col5=F5 Char Width 10
.
.
.
Coln=Fn Char Width 10 計算欄位數可以 open 該 .txt 檔的第一行, 算出 , (逗號數) 加 1即為欄位數啦!
|
iamkch
一般會員 發表:3 回覆:4 積分:1 註冊:2003-09-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |