亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用Delphi的ADO組件建立動態(tài)數(shù)據(jù)庫連接

        2018-01-03 12:34:50柴鎖柱柴華
        山東工業(yè)技術(shù) 2018年24期
        關(guān)鍵詞:數(shù)據(jù)庫

        柴鎖柱 柴華

        摘 要:在使用Delphi自帶的ADO組件開發(fā)Access數(shù)據(jù)庫應(yīng)用程序時,會遇到由于程序存放路徑不同導(dǎo)致數(shù)據(jù)庫不能正常連接,致使程序不能正常運行,此問題采用動態(tài)鏈接Access數(shù)據(jù)庫的方法可以解決;結(jié)合具體代碼闡述了用ADO組件動態(tài)鏈接Access加密數(shù)據(jù)庫的方法和關(guān)鍵技術(shù),使得應(yīng)用程序可以任何路徑都能正常運行。

        關(guān)鍵詞:Delphi;數(shù)據(jù)庫;Access;ADO組件

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

        1 引言

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

        2 ADO組件

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

        3 用ADO組件連接Access數(shù)據(jù)庫

        結(jié)合具體代碼闡述使用ADO組件連接并訪問加密Access數(shù)據(jù)庫的方法步驟及關(guān)鍵技術(shù)要點。

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

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

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

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

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

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

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

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

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

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

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

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

        4 關(guān)鍵技術(shù)問題

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

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

        5 結(jié)束語

        實踐證明,在Delphi 中使用ADO組件開發(fā)Access數(shù)據(jù)庫應(yīng)用程序,給Access數(shù)據(jù)庫加密,可以有效防止用戶直接通過Access軟件修改修據(jù)庫而造成數(shù)據(jù)庫損壞;動態(tài)修改ADOConnection1組件的ConnectionString屬性,以實現(xiàn)動態(tài)連接數(shù)據(jù)庫,使應(yīng)用程序可以在不同環(huán)境下運行。串口通信程序,在Delphi 7中使用ADO組件開發(fā)Access數(shù)據(jù)庫應(yīng)用程序,具有簡單方便、開發(fā)效率高的特點,結(jié)合Delphi的第三方組件CPort串口組件已經(jīng)在綜合項目的開發(fā)中得到應(yīng)用[3],應(yīng)用效果令人滿意。在Delphi 中利用ADO組件開發(fā)Access數(shù)據(jù)庫應(yīng)用程序的方法,對開發(fā)Delphi應(yīng)用程序?qū)嵺`具有一定的指導(dǎo)意義。

        參考文獻(xiàn):

        [1]柴鎖柱.基于RS485的倉房糧溫監(jiān)控網(wǎng)絡(luò)通信系統(tǒng)[J].滄州師范學(xué)院學(xué)報,2014,30(01):69-72.

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

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

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

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        數(shù)據(jù)庫
        財經(jīng)(2015年3期)2015-06-09 17:41:31
        數(shù)據(jù)庫
        財經(jīng)(2014年21期)2014-08-18 01:50:18
        數(shù)據(jù)庫
        財經(jīng)(2014年6期)2014-03-12 08:28:19
        數(shù)據(jù)庫
        財經(jīng)(2013年6期)2013-04-29 17:59:30
        少妇高潮惨叫喷水在线观看| 国产一区不卡视频在线| 天堂a版一区二区av| 亚洲天堂一区二区偷拍| 专干老熟女视频在线观看| 欧美性videos高清精品| 日本午夜福利| 国产精品视频免费一区二区三区| 操国产丝袜露脸在线播放 | 婷婷伊人久久大香线蕉av| 国产免费一区二区三区免费视频 | 亚洲综合一区中文字幕| 男人扒开女人双腿猛进视频| 国产又色又爽又黄刺激在线视频 | 按摩师玩弄少妇到高潮hd| 亚洲精品一区二区三区四区| 国产精品国产亚洲精品看不卡| 人妻体体内射精一区二区| 国产在线一91区免费国产91| 亚洲一码二码在线观看| 亚洲一区二区三区综合免费在线| 欧美性生交活xxxxxdddd| 少妇仑乱a毛片| 特级毛片a级毛片免费播放| 女人体免费一区二区| 日韩有码中文字幕第一页| 国产一区二区三区护士| 99久久精品在线视频| 国精品无码一区二区三区在线蜜臀| 中文字幕无码无码专区| 亚洲黄色性生活一级片| 国产亚洲3p一区二区| 久久人妻av无码中文专区| 国产欧美日韩综合精品二区| 国产最新地址| 国产小车还是日产的好| av色一区二区三区精品| 国产精品久久久久影院| 亚洲视频高清| 国产精品黑丝美女av| 亚洲国产精品一区二区成人av|