《UniDAC 基础》 【菜头】 翻译 (之一)
UniDAC快速入門 菜頭? 譯 |
?原文是在UniDAC的安裝目錄下,我復制了一份到我的博客里:點我
| · | ?? 簡介 ? ?? 譯者概述 |
|
| ?? 連接到數據庫 ?? 查詢數據 ?? 執行查詢 ?? 修改數據 ?? 執行存儲過程 ?? 建立主從關系 ?? 聯合查詢 |
?? 簡介
?通用數據組件(UniDAC)是一個強大的用于Delphi、C++Builder、Lazarus(Free Pascal)非可視、交叉數據庫數據接入組件。UniDAC組件庫是為了幫助開發者更快更簡潔的開發交叉數據庫應用而設計的。
UniDAC是一個可以完全替代標準數據連接的組件,是基于Borland數據庫引擎開發的……啥啥啥……可接入Oracle, SQLServer, MySQL, InterBase, Firebird, SQLite, DB2, Microsoft Access, AdvantageDatabase Server, Adaptive Server Enterprise, DBF, NexusDB, 還有其它的數據庫 (通過 ODBC 提供者).
UniDAC基于從眾所周知的數據庫組件Devart開發的,例如:ODAC, SDAC, MyDAC, IBDAC, and PgDAC.
本文為你提供一個即將使用UniDAC的概覽……啥啥啥的……
?
?譯者概述
本人原名:XXX,昵稱【菜頭】,文化程度只到X中,編程只是興趣,并一直持續了十幾年,接觸Delphi時間并不長,也就一年多,所以本譯文中肯定會有許多謬誤,UniDac是一款為數據庫連接查詢提供了方便快捷的設計方案的組件,可是百度了一下教程后,發現國語很少,又或者太過簡易,對于英語不好的人(其實也包括我)來說,就像是一塊放到嘴前的肥肉(或者說王八……)而無從下嘴,好在,UniDac在新版中已經有了Demo示例,還有幫助文檔,不過依舊是E文……
由于手頭接了個小活,要為一所美容連鎖機構開發一套進存銷系統,設計方案幾經篩選,淘汰了B(Basic)、C(C++)、E(易語言)、還有國產Justep的X5后,最終選擇了一直心愛的D。至于為啥淘汰那幾款……,歡迎來跟我嘴對嘴的……
呆而肥!我愛呆而肥!
以前只用D寫寫外掛或者某些插件,外掛基本自己用,所以對程序的面子要求比較少,用的都是土到掉渣的標準組件,但這次因為要面向正式收費的客戶,所以面子問題就擺上了臺面……
還有哪個語言比D可以更快的搞出優秀的界面?還有嗎?!
咱只用2D做出來的界面就得讓其它幾款仰望了……,更何況哥還沒放出FireMonkey(^^,其實還不會用……)
我的D基礎是很差的,所以要打基礎,從翻譯開始……
至于本譯文會不會誤人子弟……,那不是我考慮的范圍……
翻譯對我這種還要借助金山詞霸的人來說很辛苦,所有,這段小廣告請各位轉載門保留吧。
菜頭.Email:='372212322@qq.com'??非【程】勿擾。
??連接到數據庫
在設計期時連接到數據庫
要使用 UniDac component 你要按以下步驟來:
? 創建一個空的工程來使用Uni控件,從Delphi IDE的菜單中依次選擇: File | New | VCLForms Application
? 在【控件面板】中找到 【UniDAC】 頁然后拖一個 TUniConnection 控件到新窗體中。
? 可以通過雙擊TuniConnection控件打開屬性修改器,來修改它的主要屬性。
? 在Provider? 屬性的下拉框中選擇一個數據供應源。比如,選擇如果你的數據源是Oracle數據庫,那么就選擇【Oracle】。
? 輸入下面這些屬性值:UserName(用戶名),password(密碼),server(數據庫地址,IP,服務器名),DataBase(庫名),Port(端口),要注意的是,有些數據原并不依賴這些屬性。
?? 比如,Oracle你只要輸入:
????? UserName(用戶名),
????? password(密碼),
????? server(數據庫地址,IP,服務器名),
? 其中的Server(數據庫地址,IP,服務器名)是一個TNS別名,你可以在Server屬性的下拉菜單中選擇,或者手工輸入它們。(譯者注:我沒使用過Oracle所以不知道這個TNS是什么,不過相信使用Oracl的人應該都清楚。)
?
? 點擊【Connect】連接按鈕,如果連接成功,主要屬性修改器會自動關閉,可以能過再雙擊TuniConnection控件再次打開主屬性修改器,然后選擇第二頁【Options】選項對話框,在這里,你可以輸入一些與數據提供者相關的特殊參數項。【Schema】模式參數,是一個對Oracle數據庫來說很重要的參數,在本例中,我們將使用“SCOTT”模式,所以我們在這兒輸入了“SCOTT”。
?
?
?
?
??? 在運行時連接數據庫
下例代碼展示了,如何在運行時設置與連接數據庫:
UniConnection1: TUniConnection; ... UniConnection1.ProviderName := 'Oracle'; UniConnection1.Username := 'scott'; UniConnection1.Password := 'tiger'; UniConnection1.Server := 'ORA1020'; UniConnection1.SpecificOptions.Values['Schema'] := 'SCOTT'; UniConnection1.Open;? 每個【SpecificOptions】(特殊參數)都有如下的設置格式:
<OptionName>=<Value>
你可以按以下這種方法來來增加它們:
?
UniConnection1.SpecificOptions.Add('Schema=SCOTT');
?但最好是通過Tstrings類型的【Values】屬性來設置或添加它們,因為這個屬性不會在已存在該同名參數時再次添加它們,而會用“=”后的新值來代替它。
But it is better to use the Values property of TStrings becausethis property does not add a new line if an option with the same name alreadyexists. Instead it replaces the text after '=' with a new value.
?
? 可以用Close方法來關閉連接:?
UniConnection1.Close;?
? 在你的工程中,你可以能過在代碼的【Uses】引用列表段添加你所使用的數據提供者的鏈接。比如,使用Oracle,你可以添加OracleUniProvider:?
uses???...,?OracleUniProvider;
?還有另一個更加方便的添加提供者方式,你可以通過控件面板中的【UniDACProviders】控件組頁面里的對應的提供者控件來添加,選擇這一頁,然后找到OracleUniProvider控件,拖放到窗體之中,IDE會自動完成向【USES】引用列表段自動添加提供者,如果原本沒有加這個提供者的話。
?
?? 查詢數據??? Selecting Data
TUniQuery 和TUniTable控件可以讓你來篩選數據,要實現篩選,首先,你要放放一個TUniQuery 控件到窗體中。
要篩選數據,你必需要先創建一個連接到數據庫的連接,你須要為大多數的控件設置Connection (連接)屬性值,如果在窗口中只有一個TUniConnection 控件,那么UniDac會自動的給這個Connection (連接)屬性設置為這個TUniConnection 控件。
你得為TuniQuery指定SQL屬性值,雙擊TUniQuery 控件,打開TUniQuery 控件主要屬性編輯窗口,在第一頁【SQL】中,你可以來為SQL屬性值輸入SQL查詢語句。
?
TUniSQL控件是不須要RecordSet就可以執行查詢的。TUniSQL并不是TdataSet的派生類TUniQuery,TUniSQL控件是一個簡單的提供最佳性能的控件。它的用法與TuniQuery一樣,你同樣可以在運行時自定義SQL查詢與參數。
?? 要執行查詢,你要SQL屬性分配一個值(即查詢語句),然后再調用執行方法來執行它。
?
If you connect to the SCOTT sample schema, you can enter:
?如果你連接著SCOTT示例的圖表,你可以輸入:
SELECT * FROM emp來查詢 EMP 中的表.
?
?
點OK按鈕來保存改變并關閉窗口。要想執行該查詢,你可以在IDE的屬性窗口中,將Active屬性設置為True,又或者,你可以在執行過程中通過Open方法來執行:
UniQuery1: TUniQuery; ... UniQuery1.Connection := UniConnection1; UniQuery1.SQL.Text := 'SELECT * FROM emp'; UniQuery1.Open;先到這兒,其它不沒完成,還在搞,Word說明文檔有十七頁,到這里是第七頁。
?
總結
以上是生活随笔為你收集整理的《UniDAC 基础》 【菜头】 翻译 (之一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的大数据技术有哪些?
- 下一篇: 腾讯云轻量级服务器宝塔快速部署网站