a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

Delphi編寫數(shù)據(jù)庫程序要點(diǎn)

2019-11-18 18:02:10
字體:
供稿:網(wǎng)友

 Delphi是著名的Borland公司開發(fā)的可視化軟件開發(fā)工具。有這樣一句話最為經(jīng)典、貼切的描述了Delphi——“真正的程序員用C,聰明的程序員用Delphi”。很多人把Delphi稱為是第四代編程語言,它具有簡(jiǎn)單、高效、功能強(qiáng)大等特點(diǎn)。和Visual C++比較,Delphi更簡(jiǎn)單、更易于學(xué)習(xí)掌握,而在功能上卻毫不遜色;和Visual Basic相比,Delphi則功能更強(qiáng)大、更實(shí)用。可以說,Delphi兼?zhèn)淞薞C和VB的特點(diǎn),所以一直是廣大程序員喜愛的編程工具。

  下面,我們將分期向大家簡(jiǎn)單介紹Delphi的特點(diǎn)、常用組件,以及利用Delphi開發(fā)數(shù)據(jù)庫程序的方法和步驟。

  發(fā)展至今,從Delphi 1、Delphi 2到現(xiàn)在的Delphi 7、Delphi 8(Borland Delphi .net),Delphi不斷擴(kuò)展和改進(jìn)著自身的功能、特點(diǎn)和優(yōu)勢(shì)。Delphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數(shù)據(jù)庫的應(yīng)用程序,如Database Desktop等。而且,還允許用戶掛接其他的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。

  在Delphi眾多的優(yōu)勢(shì)當(dāng)中,它在數(shù)據(jù)庫方面的特長(zhǎng)顯得尤為突出:適用于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機(jī)/服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。

  首先,我們來簡(jiǎn)單了解一下Delphi是如何存取數(shù)據(jù)庫的。

  Delphi對(duì)數(shù)據(jù)庫的操作主要是利用BDE(數(shù)據(jù)庫引擎,Borland Database Engine的縮寫)來進(jìn)行。當(dāng)然,通過其他方式直接訪問數(shù)據(jù)庫,在Delphi中也都是可以實(shí)現(xiàn)的。不過,對(duì)于本地?cái)?shù)據(jù)庫來說,通過BDE存取數(shù)據(jù)效率很高。對(duì)本地?cái)?shù)據(jù)庫如果能夠熟練操作,編寫網(wǎng)絡(luò)數(shù)據(jù)庫也就容易上手了。尤其對(duì)初學(xué)者來說,寫網(wǎng)絡(luò)數(shù)據(jù)庫的機(jī)會(huì)還是不如單機(jī)本地?cái)?shù)據(jù)庫多。所以,我們把重點(diǎn)放在本地?cái)?shù)據(jù)庫上。

  BDE是負(fù)責(zé)用戶和數(shù)據(jù)庫交流的中間媒介。事實(shí)上,應(yīng)用程序是通過數(shù)據(jù)訪問組件和BDE連接,再由BDE去訪問數(shù)據(jù)庫,完成對(duì)數(shù)據(jù)庫的操作,而并非直接操作BDE。這樣用戶只需關(guān)心Delphi中的數(shù)據(jù)組件即可,不用直接和BDE打交道。

  數(shù)據(jù)庫組件主要分為兩類:“數(shù)據(jù)訪問組件”和“數(shù)據(jù)控制組件”,它們和數(shù)據(jù)庫的關(guān)系可用下面的關(guān)系圖來示意:



  通過BDE,幾乎可以操作目前所有類型的數(shù)據(jù)庫。接下來,簡(jiǎn)單介紹一下Delphi中常用的數(shù)據(jù)庫組件。  

  1. 數(shù)據(jù)訪問組件(Data access Component)

  數(shù)據(jù)訪問組件在Delphi組件面板的Data Access組件頁上可以找到。這里我們應(yīng)當(dāng)注意:Table、Query和StoredPRoc三個(gè)控件,它們稱為“數(shù)據(jù)集組件”,用于和數(shù)據(jù)庫連接。學(xué)習(xí)者可以將這些控件視為“虛擬”的數(shù)據(jù)庫,對(duì)它們的操作就可以認(rèn)為是對(duì)數(shù)據(jù)庫的操作。

  (1)DataSource控件是數(shù)據(jù)集組件和數(shù)據(jù)控制組件的連接媒介。數(shù)據(jù)控制組件是用戶操作數(shù)據(jù)庫中數(shù)據(jù)的界面,只有通過DataSource控件才能和數(shù)據(jù)集組件連接,從而對(duì)數(shù)據(jù)進(jìn)行顯示、修改、維護(hù)等操作。

  (2)Table控件是通過數(shù)據(jù)庫引擎——BDE來存取數(shù)據(jù)庫中的數(shù)據(jù)的。通過BDE將用戶對(duì)數(shù)據(jù)庫的操作(如添加、刪除、修改等)傳遞給數(shù)據(jù)庫。

  (3)Query控件是利用SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)通過BDE來操作數(shù)據(jù)庫的,和Table控件完成的功能相似,它只是采用了SQL來實(shí)現(xiàn)。

  (4)Storedproc控件是通過BDE對(duì)服務(wù)器數(shù)據(jù)庫進(jìn)行操作的,常用于客戶/服務(wù)器(C/S)結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序。

  (5)DataBase控件一般用于建立遠(yuǎn)程的數(shù)據(jù)庫服務(wù)器——客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)庫之間的連接。

  (6)session控件是用于控制數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)庫連接的,主要用于復(fù)雜功能的實(shí)現(xiàn),例如:多線程數(shù)據(jù)庫程序設(shè)計(jì)。

  2. 數(shù)據(jù)控制組件(Data Control Component)

  數(shù)據(jù)控制組件也可以稱為數(shù)據(jù)顯示組件或數(shù)據(jù)瀏覽組件。它們的主要功能是與數(shù)據(jù)訪問組件相配合,提供給用戶一個(gè)對(duì)數(shù)據(jù)進(jìn)行瀏覽、編輯等操作的界面。數(shù)據(jù)控制組件在組件板上的DataControl頁上。它們主要有:DBGrid控件、DBNavigator控件、DBText控件、 DBEdit控件、DBMemo控件、DBImage控件、DBListbox控件、DBComboBox控件、DBCheckBox控件、 DBRadioGroup控件、DBLookupListBox控件、DBLookupComboBox控件、DBRichEdit控件、 DBCtrlGrid控件、DBChart控件等。

  此外,還有一些組件與數(shù)據(jù)庫有關(guān)。例如,Decision Cube是一組主要用于數(shù)據(jù)統(tǒng)計(jì)工作的控件,以表格或圖形等直觀的方式表達(dá)統(tǒng)計(jì)結(jié)果。QReport是用來輸出報(bào)表的控件,但是,根據(jù)經(jīng)驗(yàn)來看,此控件不太適合中國人報(bào)表的習(xí)慣。此組件是Borland公司購買而來,性能不是太好,所以現(xiàn)在使用的不是很多。目前,有一些第三方控件提供的報(bào)表控件很好用,也有一些國人自己制作的報(bào)表控件,很適合中國人的習(xí)慣。

  還有一個(gè)組件頁是ADO(ActiveX Data Objects),主要是使用微軟的OLE DB功能對(duì)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行訪問和操作。其主要優(yōu)點(diǎn)是易于使用、高速度、低內(nèi)存支付和存儲(chǔ)空間占用較少。ADO支持用于建立基于客戶端/服務(wù)器和基于Web的應(yīng)用程序。ADO同時(shí)具有遠(yuǎn)程數(shù)據(jù)服務(wù)(RDS)功能,通過RDS可以在一次往返過程中實(shí)現(xiàn)將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶端應(yīng)用程序或Web頁、在客戶端對(duì)數(shù)據(jù)進(jìn)行處理然后將更新結(jié)果返回服務(wù)器的操作。ADO現(xiàn)在逐漸流行起來,ADO本身也很復(fù)雜,微軟有專門的幫助文件來說明如何使用ADO,學(xué)習(xí)者有興趣可以找相關(guān)資料進(jìn)一步學(xué)習(xí)。

編寫程序

在上面的準(zhǔn)備工作做完之后,應(yīng)該說,萬里長(zhǎng)征已走完了三分之一。因?yàn)橛辛嗣鞔_的程序流程、有了基本充足的編程資源、可能碰到的難點(diǎn)都找到了解決方案,可謂“萬事俱備,只欠東風(fēng)”!由于事先準(zhǔn)備的比較充分,即使以后程序的編寫過程中可能還會(huì)碰到一些困難,但畢竟不會(huì)成為“攔路虎”的狀況,我們需要做的就是拿出一大塊時(shí)間,靜下心來認(rèn)真按照方案和流程來編寫程序了。這里說明一點(diǎn),在寫程序之前應(yīng)該首先建立空白數(shù)據(jù)庫,當(dāng)然也可以在設(shè)計(jì)方案時(shí)建立數(shù)據(jù)庫,也可以在完成前面的五個(gè)步驟之后在正式寫程序之前建立空白數(shù)據(jù)庫。

編寫數(shù)據(jù)庫程序的幾點(diǎn)建議

由于數(shù)據(jù)庫程序和用戶的交互功能較多,用戶需要輸入的數(shù)據(jù)量大,所以必須充分考慮到程序的錯(cuò)誤處理,對(duì)用戶可能出現(xiàn)的輸入錯(cuò)誤要充分考慮并在程序中盡量及時(shí)給出提示。

在保存時(shí)對(duì)輸入數(shù)據(jù)進(jìn)行校驗(yàn),防止一些非法數(shù)據(jù)保存到數(shù)據(jù)庫中,導(dǎo)致以后的統(tǒng)計(jì)、查詢出現(xiàn)錯(cuò)誤。

程序要寫的穩(wěn)定性好、容錯(cuò)能力強(qiáng)是很不容易的,從經(jīng)驗(yàn)來看,很大一部分精力都用在防止出錯(cuò)、使得程序能穩(wěn)定運(yùn)行方面。

在完成一個(gè)功能模塊的代碼編寫后要立即進(jìn)行調(diào)試,調(diào)試通過后再編寫另外一個(gè)功能的代碼,這樣可以防止代碼都編寫完畢再調(diào)試是因?yàn)榭赡軒淼南嗷ビ绊懚磺宄降啄牟糠执a出現(xiàn)問題。

代碼中關(guān)鍵的地方要加些注釋,以防以后自己都看不懂當(dāng)初是怎么寫的了。將程序代碼做好備份,做好“災(zāi)難恢復(fù)”的準(zhǔn)備。(全文完)


上一篇:Delphi中ScriptControl的高級(jí)應(yīng)用(二)

下一篇:DELPHI中的快捷方式一覽(完全正式版)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 美女天堂| 欧美精品黄 | 亚洲精品一级 | 亚洲成色www久久网站瘦与人 | 日韩福利在线观看 | 超碰在线看 | 在线播放www | 日韩中文字幕 | 国内精品久久久久 | 精品国产乱码久久久久久牛牛 | 亚洲精品乱| 亚洲欧美日韩天堂 | 在线视频偷国产精品 | 欧美与黑人午夜性猛交 | 日韩欧美黄色 | 国产一区二区三区四区五区加勒比 | 国产在线一级视频 | 亚洲精品乱码久久久久久 | 天天舔天天爽 | 男人的午夜| 精品亚洲成a人在线观看 | 2018啪一啪 | 亚洲综合在线一区二区三区 | y111111国产精品久久婷婷 | 久久久国产一区二区三区四区小说 | 久久久久久久久久毛片 | 拍真实国产伦偷精品 | 欧美∨a | 精品国产鲁一鲁一区二区三区 | 少妇一区二区三区 | 99热少妇| 久久精品网 | 欧美日韩在线一区 | 亚洲精品一二三区 | h视频网站在线 | 成人午夜视频在线观看 | 韩国三级中文字幕hd久久精品 | 久久精av| 亚洲影视一区二区 | 亚洲国产精品精华液网站 | 影音先锋亚洲资源 |