999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用Delphi的ADO組件建立動態數據庫連接

2018-01-03 12:34:50柴鎖柱柴華
山東工業技術 2018年24期
關鍵詞:數據庫

柴鎖柱 柴華

摘 要:在使用Delphi自帶的ADO組件開發Access數據庫應用程序時,會遇到由于程序存放路徑不同導致數據庫不能正常連接,致使程序不能正常運行,此問題采用動態鏈接Access數據庫的方法可以解決;結合具體代碼闡述了用ADO組件動態鏈接Access加密數據庫的方法和關鍵技術,使得應用程序可以任何路徑都能正常運行。

關鍵詞:Delphi;數據庫;Access;ADO組件

DOI:10.16640/j.cnki.37-1222/t.2018.24.100

1 引言

數據庫已被廣泛應用在各種管理系統中,例如用在倉房糧溫監控系統中已得到應用[1]。數據庫系統的種類很多,大型數據庫如MSSQL Sever、Oracle,小型數據庫如Access,在應用中應根據需要選擇合適的數據庫。開發數據庫應用程序的工具有很多,如VB、VC和Delphi等,其中Delphi是由Borland公司推出的可視化集成開發環境,是一種方便、快捷的Windows應用程序開發工具,具有簡單、高效和功能強大的特點,采用基于窗體和面向對象程序設計的方法,具有強大的數據庫支持,用組件庫封裝了豐富的Windows操作,適合開發數據庫方面的應用程序,支持多種數據庫結構,從客戶機/服務器模式到多層數據庫結構模式,先進的數據庫引擎,高效的數據分析手段和提供大量的企業組件,采用Delphi開發數據庫應用程序成為許多程序員的選擇。在應用程序開發過程中,使用TADOConnection組件連接已經設計好的Access數據庫既方便又快捷,但是會遇到一些問題:(1)一般在編程時TADOConnection組件的ConnectionString屬性已經確定,當將程序移植到其它計算機運行時,由于環境的改變會導致程序無法正常運行;(2)用戶可以通過Mircosoft Access軟件直接操作數據庫,這可能造成數據庫的破壞。為了解決第二個問題,需要對數據庫加密;為了解決第一個問題,應用程序需要動態修改TADOConnection組件的ConnectionString屬性,對加密的數據庫進行連接。以Access數據庫為例,闡述使用Delphi的ADO組件開發數據庫應用程序的方法、步驟和關鍵問題,以完成對數據庫的訪問和操作。

2 ADO組件

ADO(ActiveX Data Object)是微軟公司推出的一套數據庫訪問規范。它使應用程序能夠通過一種稱為OLE DB提供者(OLE DB Provider)的驅動程序訪問和操作數據庫。而OLE DB 是一個基于COM的數據庫訪問規則和API函數的集合,并經過了簡化。ADO以ActiveX的形式封裝了OLE DB,以提供一個更加友好方便的使用方式。使用ADO的好處,一是速度快,占用內存少,因為它直接使用API函數;二是支持基于Web應用開發;三是支持RDS(Remote Data Service),即首先將數據從服務器移動到客戶端或Web頁上,等到在客戶端或Web頁上將數據修改后,再將數據回傳到服務器上。Delphi 7開發工具自帶ADO組件[2],為連接多種數據庫提供了方便快捷的方法,這些組件可以分為兩大類:連接類型和訪問類型。ADO連接組件TADOConnection屬于連接類型,用來建立一個數據庫連接,為訪問類型的ADO組件提供數據庫連接,修改TADOConnection組件的ConnectionString屬性可以連接不同的數據庫。這樣ADO數據集組件就可以通過ADO連接組件訪問數據庫中的數據表。

3 用ADO組件連接Access數據庫

結合具體代碼闡述使用ADO組件連接并訪問加密Access數據庫的方法步驟及關鍵技術要點。

(1)創建一個文件夾,命名為“project”,用來存放項目的源代碼;在“project” 文件夾下創建子文件夾,命名為“DataBase”,用于存放Access數據庫。

(2)用Access創建一個數據庫,命名為“db1.mdb”,保存在DataBase文件夾中;對db1.mdb數據庫加密,假設密碼為“123456”,創建數據表,命名為“Table1”,為數據表添加字段并添加數據,不再贅述。

(3)打開Delphi集成開發環境,創建一個工程保存在project文件夾下,項目命名為“project1”;新建窗體命名為“Form1”。

(4)在窗體Form1上添加TADOConnection組件,命名為“ADOConnection1

”,TADOConnection組件為Delphi自帶的組件,用于連接數據庫。需要修改TADOConnection組件的ConnectionString屬性,以指定需要連接的數據庫。 ADOConnection1的LoginPrompt屬性設置為“False”,使得程序運行時不再出現數據庫登錄窗口。因為ConnectionString屬性需要在程序運行過程中設置,所以ADOConnection1的Connected屬性設置為“False”。

(5)在窗體Form1上添加TADOQuery組件,命名為“ADOQuery1”

,TADOQuery組件為Delphi自帶的組件,用來訪問數據表,為TDataSource組件提供數據集。需要修改ADOQuery1的SQL屬性以訪問數據庫中的數據表,修改ADOQuery1的Connection屬性以連接數據庫。因為還沒有連接數據庫,所以ADOQuery1的Active屬性設置為“False”。ADOQuery1的SQL屬性設置為“select * from table1”。ADOQuery1的Connection屬性設置為“ADOConnection1”。

(6)在窗體Form1上添加TDataSource組件,命名為“DataSource1”

,TDataSource組件為Delphi自帶的組件,為DBGrid1提供數據源。需要修改DataSource1的DateSet屬性。DataSource1的DateSet屬性設置為“ADOQuery1”。

(7)在窗體Form1上添加TDBGrid組件,命名為“DBGrid1”,TDBGrid組件為Delphi自帶的組件,用于顯示數據。需要修改DBGrid1的DataSource屬性,設置為DataSource1。

(9)編譯并運行應用程序,可以正常訪問數據庫顯示數據表的記錄信息。

(10)將project1.exe文件和DataBase文件夾一起復制,粘貼到另外機器的任何一個文件夾下測試,能夠正常運行。

4 關鍵技術問題

(1)創建Access數據庫后設置密碼,可以防止用戶Access軟件打開數據庫文件,避免了因用戶使用Access軟件直接修改數據庫而造成數據被損壞的情況發生。

(2)使用程序代碼修改ADOConnection1組件的ConnectionString屬性,主要是采用相對路徑訪問數據庫,指定數據庫訪問的密碼。為了使開發的應用程序能夠在不同機器不同路徑下都能運行,對數據庫進行訪問可以采用相對路徑的方法,程序代碼參見'DataBase\db1.mdb;'這一部分。

5 結束語

實踐證明,在Delphi 中使用ADO組件開發Access數據庫應用程序,給Access數據庫加密,可以有效防止用戶直接通過Access軟件修改修據庫而造成數據庫損壞;動態修改ADOConnection1組件的ConnectionString屬性,以實現動態連接數據庫,使應用程序可以在不同環境下運行。串口通信程序,在Delphi 7中使用ADO組件開發Access數據庫應用程序,具有簡單方便、開發效率高的特點,結合Delphi的第三方組件CPort串口組件已經在綜合項目的開發中得到應用[3],應用效果令人滿意。在Delphi 中利用ADO組件開發Access數據庫應用程序的方法,對開發Delphi應用程序實踐具有一定的指導意義。

參考文獻:

[1]柴鎖柱.基于RS485的倉房糧溫監控網絡通信系統[J].滄州師范學院學報,2014,30(01):69-72.

[2]張大年,廖智勇,劉劍鋒.Delphi數據庫應用開發技術與實例[M].2002(01):428-472.

[3]柴鎖柱,柴華.在Delphi中用CPort組件開發串口通信程序[J].內江科技,2015(05):49-50.

作者簡介:柴鎖柱(1963-),男,河北滄州人,本科,教授,研究方向:嵌入式系統和計算機控制技術。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 欧美日韩国产综合视频在线观看| 亚洲国产高清精品线久久| 成年免费在线观看| 色噜噜久久| 制服丝袜一区| 91久久夜色精品| 国产91精选在线观看| 女人毛片a级大学毛片免费| 久久性妇女精品免费| 激情综合婷婷丁香五月尤物| 久久国产精品麻豆系列| 伊人AV天堂| 91色在线视频| 91精品亚洲| 欧美日韩成人| 亚洲资源站av无码网址| 亚洲手机在线| 不卡视频国产| 欧美午夜视频在线| 日韩欧美高清视频| 日韩中文欧美| 色综合国产| 午夜人性色福利无码视频在线观看| 伊人福利视频| 福利在线一区| 亚洲成aⅴ人片在线影院八| 99热这里只有成人精品国产| 亚洲码在线中文在线观看| 毛片免费高清免费| 亚洲AV电影不卡在线观看| 国产自在线拍| 九九热这里只有国产精品| 亚洲一级色| 国产一级毛片在线| 天天色综网| 97se亚洲综合在线韩国专区福利| 国产xx在线观看| 久久黄色影院| 亚洲无码91视频| 日韩一区二区三免费高清| 精品视频一区二区三区在线播| 亚洲精品国产综合99久久夜夜嗨| 在线不卡免费视频| V一区无码内射国产| 制服丝袜一区| 国产精品va免费视频| 亚洲中文无码av永久伊人| 国产成人久久综合777777麻豆| 国产高清毛片| 国产无遮挡猛进猛出免费软件| 无码专区国产精品一区| 国产一在线| 韩日无码在线不卡| 高清免费毛片| 国产精品片在线观看手机版 | 国产一在线观看| 欧美中文字幕在线视频| 色综合狠狠操| 91香蕉视频下载网站| 亚洲婷婷在线视频| 呦女精品网站| julia中文字幕久久亚洲| 国产精品手机在线观看你懂的| 亚洲免费成人网| 亚洲伊人久久精品影院| 国产av剧情无码精品色午夜| 思思热在线视频精品| 喷潮白浆直流在线播放| 不卡无码网| 91精品国产丝袜| 亚洲天堂高清| www.youjizz.com久久| 中文字幕第4页| 日韩视频福利| 亚洲另类国产欧美一区二区| 免费A级毛片无码免费视频| 国产香蕉在线视频| 亚洲国产精品VA在线看黑人| 免费国产在线精品一区| 女人18毛片一级毛片在线| 女人18一级毛片免费观看| 国产综合精品日本亚洲777|