VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

CursorAdapter ODBC存取資料--以Excel為例示範 (轉貼)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 1 樓

發表發表於: 星期五 四月 02, 2004 9:08 pm    文章主題: CursorAdapter ODBC存取資料--以Excel為例示範 (轉貼) 引言回覆

來源:動感游標 net_steven
http://www.vfp.cn/forum_view.asp?forum_id=1&view_id=343

用CA讀取excel表
自聚會以來一直想為論壇做點什麼,這裡貼一點個人心得,樂見與狐友們分享:
(基本上偶屬於吸熱動物一類 :P)
直接讀取的方法相信大多狐友都會,但發覺當數據量很大時性能很差,所以想到用CA訪問,
性能不錯!
*----------------------------------------------------------------------------------------------------
lcfile=GETFILE('xls', 'select a .xls:', 'Open', 1, 'Select your EXCEL file')

If Empty(lcfile)
Messagebox("Pls select your XLS file ",0,"Alert")
RETURN .f.
ENDIF

lccn=[DBQ=]+lcfile+[;DefaultDir=]+JUSTPATH(lcfile)+[;Driver={Microsoft Excel Driver (*.xls)};DriverId=790;FIL=excel 8.0]

hnd=SQLSTRINGCONNECT(lccn,.t.)
IF hnd<0
messagebox(" Could not access your excel file!",0,"")
RETURN
ENDIF
lc_schema=[col_A c(20),col_B c(20),col_date d]
lc_sql=[SELECT sht.col_A,sht.col_b,sht.col_date FROM "Sheet1$" sht where sht.col_a is not null ]
ca1=NEWOBJECT('CursorAdapter')
with ca1
.CursorSchema =lc_schema
.Alias = 'tmp_xls'
.DataSourceType = 'ODBC'
.DataSource = hnd
.SelectCmd =lc_sql
.Tables = 'Sheet1$'
.sendupdates=.f.
if !.CursorFill(.t.)
aerror(laErrors)
messagebox(laErrors[2])
return
endif .CursorFill()
ENDWITH
SELECT tmp_xls
browse
SQLDISCONNECT(hnd)
rele ca1
use in tmp_xls
*----------------------------------------------------------------------------------------------------
1,excel sheet的第一行列名要與Cursor Schema 保持一致,即:col_A,col_B,col_date
2, Mihu兄有空的話能否用trycatchfinally改造一下?
3,UT現在要付費才能訪問,鬱悶!

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
jimmy987



註冊時間: 2003-06-26
文章: 33


第 2 樓

發表發表於: 星期五 四月 02, 2004 10:51 pm    文章主題: 引言回覆

請問ca1=NEWOBJECT('CursorAdapter')中的CURSORADAPTER
是何物件, 執行時會出現ERROR
不知Ruey能否指點一二,感激不盡....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 3 樓

發表發表於: 星期五 四月 02, 2004 11:43 pm    文章主題: 引言回覆

這是VFP8.0的新類別....

詳細的介紹.用CURSORADAPTER 查詢就有相關文章.

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作