全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1733
推到 Plurk!
推到 Facebook!

使用ADO讀取文字檔的問題

尚未結案
iamkch
一般會員


發表:3
回覆:4
積分:1
註冊:2003-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-19 15:14:42 IP:61.30.xxx.xxx 未訂閱
請問一下,我用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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-19 23:00:36 IP:61.62.xxx.xxx 未訂閱
因為文字資料表的 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-20 15:48:41 IP:61.30.xxx.xxx 未訂閱
[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 10
timhuang先生您好: 很感謝您的指導,我依照您所說的方法去做,果然可以了,但是我還有一個問題要請教您,如果我的文字檔裡欄位的「名稱」和「數量」並不是固定的,也就是說schema.ini檔無法事先產生,那我可以設定所有欄位都是以文字型態讀出嗎?
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-20 17:10:44 IP:203.95.xxx.xxx 未訂閱
當然可以囉, 不過若是碰到數字要轉換的話, 就必須在程式裡面作業了. 資料庫的欄位型態通常是要看實際的需要來設定的, 所以要都設為文字當然是沒有問題囉.
iamkch
一般會員


發表:3
回覆:4
積分:1
註冊:2003-09-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-20 17:37:46 IP:61.30.xxx.xxx 未訂閱
可是我的文字檔裡的欄位名稱和數量是不固定的 我有辦法設定讓所有的欄位都是以字串的方式讀出嗎?? 要怎麼設啊??
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-21 01:05:45 IP:61.62.xxx.xxx 未訂閱
可以將 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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-21 08:37:33 IP:61.30.xxx.xxx 未訂閱
timhuang先生: 很感謝您的指導,讓我獲益良多< >< >
系統時間:2024-09-09 6:57:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!