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久久天天躁狠狠躁夜夜| 亚洲人成影视在线观看| 日韩精品一区二区三区大桥未久| 亚洲一区二区约美女探花| 欧美日本在线播放| 日本不卡在线播放| 亚洲综合精品第一页| 国产精品亚洲精品爽爽| 国外欧美一区另类中文字幕| 日韩第九页| 色综合中文综合网| 国产成人AV综合久久| 国产不卡在线看| yjizz国产在线视频网| 国产欧美在线观看视频| 在线观看国产精品一区| 成人免费黄色小视频| 久久不卡精品| 91国内在线视频| 亚洲中文在线看视频一区| 成人综合在线观看| 久久一级电影| 日韩最新中文字幕| 日本人真淫视频一区二区三区| 亚洲成人免费在线| 国产欧美日韩视频一区二区三区| 国产在线一区二区视频| 亚洲国产无码有码| 波多野结衣的av一区二区三区| 亚洲日本www| 欧美精品xx| 亚洲日韩精品无码专区| 精品午夜国产福利观看| 中日无码在线观看| 香蕉国产精品视频| 91免费国产在线观看尤物| 国产一级小视频| 欧美高清国产| 第九色区aⅴ天堂久久香| 国产男人的天堂| 中日韩一区二区三区中文免费视频| 无码精油按摩潮喷在线播放| 久久一级电影| 国产特一级毛片| 天天爽免费视频| 久久亚洲欧美综合| 又大又硬又爽免费视频| 欧美伊人色综合久久天天| 亚洲码一区二区三区| 又大又硬又爽免费视频| 99久视频| 日本午夜视频在线观看| 天天操精品| 性喷潮久久久久久久久| 色悠久久久久久久综合网伊人| 永久在线精品免费视频观看| 成人一区专区在线观看| 午夜福利在线观看成人| 亚洲综合激情另类专区| 精品夜恋影院亚洲欧洲| 亚洲欧美在线综合一区二区三区| 999国内精品视频免费| 亚洲 日韩 激情 无码 中出| 亚洲色欲色欲www在线观看| 99在线观看精品视频| 亚洲天堂网2014| 日韩东京热无码人妻| 免费看美女毛片| 欧美午夜网| 午夜国产理论| 韩日免费小视频| 97久久人人超碰国产精品| 夜夜操天天摸| 国产人成午夜免费看| 国产一级在线播放| 视频一本大道香蕉久在线播放 | 无码精品福利一区二区三区| 精品乱码久久久久久久| 色婷婷国产精品视频| 欧美自慰一级看片免费| 久视频免费精品6| 91九色视频网|