今天遇到一個問 delphi 相關(guān)問題的,提問者“只會ADO的連接方式”,,想知道“Delphi firedacquery如何連接EXCEL”,,由此產(chǎn)生了一點興趣,遂研究之,,后記錄之,,供同好參考。 通常,,在 Delphi 里編寫一個桌面數(shù)據(jù)庫應用的步驟可以很簡單,,拖曳4個控件即可:
為了提供更好的用戶體驗,,可能還可以添加一個導航控件:
總體大概如下圖所示: 使用 FireDAC 組件建立數(shù)據(jù)庫與此過程類似,,現(xiàn)將步驟記錄如下: 1、在工程中分別添加如下控件:
建立完成如下圖(與 ADO 方式并無大的區(qū)別): 2,、雙擊 FDConnction1 圖標,,進入 FireDAC connection Editor 界面:FireDAC 預提供了多種數(shù)據(jù)庫支持,如:IBM DB2 Server,、Microsoft SQL Server,、MySQL Server、Oracle Server,、Microsoft Access Database 等,,其中沒有 ADO,但提供了 ODBC,,因此,,可以選擇使用 ODBC 方式來連接 Excel。 將 Driver ID 設(shè)置為 ODBC,,如下圖: 雖然現(xiàn)在就可以在表格填選各項設(shè)置,,但推薦 點擊 Wizard 按鈕,使用 FireDAC 提供的向?qū)Чδ軄硗瓿稍O(shè)置: 最終生成的設(shè)置如下圖: 3,、連接 FDConntion 和 FDQuery,,雙擊 FDQuery 圖標,進入 FireDAC Query Editor:編寫 SQL 語句:
在此,,有點需要提示的是: Excel 文件的工作簿中,,通常會包含多個工作表(相當于數(shù)據(jù)庫中的表),與通常 SQL 語句 Select 數(shù)據(jù)表名稱表示方法不同,,選擇 Exce 的某個 Sheet,,其表示方法如下:
寫完 SQL 語句后,可以點擊 Excute 按鈕,,測試一下,,如果正確,會在下方的 RecordSet 頁中顯示出 SQL 命令所獲取的數(shù)據(jù)結(jié)果: 至此,,用 FireDAC 連接 Excel 的關(guān)鍵部分基本完成,,再將 FDQuery 與 DataSoure 和 DBGrid 連接起來即可。 |
|