• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        在C++ Builder中運(yùn)用Access數(shù)據(jù)庫(kù)

        在C++ Builder中運(yùn)用Access數(shù)據(jù)庫(kù)

        更新時(shí)間:2021-11-16 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        中國(guó)計(jì)算機(jī)報(bào) 趙天平

        Access數(shù)據(jù)庫(kù)在管理中得到了廣泛的應(yīng)用,在長(zhǎng)期的使用中已有很多數(shù)據(jù)資料存儲(chǔ)在Access數(shù)據(jù)庫(kù)的文件中,用C++ Builder編程時(shí),往往也需要使用Access數(shù)據(jù)庫(kù),來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳遞。

        在C++ Builder中使用Access數(shù)據(jù)庫(kù)既可以在設(shè)計(jì)期實(shí)現(xiàn),也可以在運(yùn)行期通過(guò)編程實(shí)現(xiàn)。下面就以一個(gè)簡(jiǎn)單的例子,來(lái)說(shuō)明在C++ Builder中如何使用Access數(shù)據(jù)庫(kù)。

        在設(shè)計(jì)期使用Access數(shù)據(jù)庫(kù)
        首先新建一個(gè)工程,保存單元文件為Unit1.cpp,保存工程文件為Project1.bpr。假設(shè)保存工程文件的路徑下已有一個(gè)Access數(shù)據(jù)庫(kù)文件student.mdb,下面需要為該數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)別名。點(diǎn)擊C++ Builder的tools選單項(xiàng),在下拉選單中點(diǎn)擊Database Desktop就進(jìn)入了C++ Builder自帶的數(shù)據(jù)庫(kù)系統(tǒng)。然后在Database Desktop的tools項(xiàng)中選擇Alias Manager來(lái)為Access數(shù)據(jù)庫(kù)創(chuàng)建別名。創(chuàng)建別名的方法是:首先點(diǎn)擊“New”按鈕,然后在彈出對(duì)話框的Database alias欄內(nèi)為數(shù)據(jù)庫(kù)起一個(gè)別名,例如“mydatabase”,在Drive type欄選擇MSACCESS;在DATABASE NAME欄內(nèi)填入Access數(shù)據(jù)庫(kù)文件的路徑及文件名,其余項(xiàng)目可以根據(jù)需要填寫(xiě),然后點(diǎn)擊“OK”按鈕,會(huì)彈出一個(gè)是否保存別名設(shè)置的對(duì)話框,選擇“是”,這樣數(shù)據(jù)庫(kù)別名就創(chuàng)建完成了。

        在表單Form1中放置一個(gè)TDatabase控件Database1,并設(shè)置以下屬性:AliasName屬性選擇已創(chuàng)建的別名“mydatabase”,DatabaseName屬性填寫(xiě)一個(gè)應(yīng)用程序?qū)S玫膭e名,如“app_alias”(無(wú)需創(chuàng)建);Connected屬性選擇true,這時(shí)會(huì)彈出一個(gè)數(shù)據(jù)庫(kù)登錄對(duì)話框,如果未設(shè)用戶名和口令,則直接點(diǎn)擊“OK”,如果在創(chuàng)建別名時(shí)設(shè)有用戶名和口令,正確填寫(xiě)后再點(diǎn)擊“OK”就可以連接數(shù)據(jù)庫(kù)了。

        在表單Form1中增加一個(gè)TTable控件Table1并在DatabaseName屬性中填寫(xiě)應(yīng)用程序的專用別名,本例為“app_alias”,TableName屬性中選擇一個(gè)需要的數(shù)據(jù)表名,Active屬性設(shè)為true。在表單Form1中增加一個(gè)TDataSource控件DataSource1,將其DataSet屬性設(shè)為T(mén)able1。再增加一個(gè)TDBGrid控件DBGrid1和TDBNavigator控件DBNavigator1,將它們的DataSource屬性都設(shè)為DataSource1,這樣就可以看到Access數(shù)據(jù)庫(kù)中的內(nèi)容了,并通過(guò)控件DBNavigator1可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行一些簡(jiǎn)單的操作。如果要對(duì)數(shù)據(jù)庫(kù)進(jìn)行更多的操作可以通過(guò)對(duì)Table1編程來(lái)實(shí)現(xiàn),在此不再贅述。在設(shè)計(jì)期使用Access數(shù)據(jù)庫(kù)簡(jiǎn)單、快捷,但靈活性差一些。

        在運(yùn)行期使用Access數(shù)據(jù)庫(kù)
        在運(yùn)行期使用Access數(shù)據(jù)庫(kù),在表單Form1中除了以上控件外,還需增加一個(gè)BDE會(huì)話期對(duì)象,即TSession控件Session1。將AutoSessionName屬性設(shè)為true,然后在Form1的OnCreate事件函數(shù)中加入以下代碼:

        AnsiString app_path,alias_1,name_1;
        app_path=ExtractFilePath(ParamStr(0));
        //取得應(yīng)用程序的路徑
        alias_1="mydatabase2";
        //Access數(shù)據(jù)庫(kù)別名
        name_1="DATABASE NAME="+app_path+"123.mdb";
        if(!Session1->IsAlias(alias_1))
        //數(shù)據(jù)庫(kù)別名不存在
        {
        TStringList dataname=new TStringList();
        dataname->Add(name_1);
        Session1->AddAlias(alias_1,"MSACCESS",dataname);//創(chuàng)建別名
        delete dataname;
        Session1->Close();
        }
        Database1->AliasName=alias_1;
        Database1->DatabaseName="app_alias";
        Table1->DatabaseName=Database1->DatabaseName;
        Table1->TableName="xxys";
        Table1->Active=true;
        注意:在運(yùn)行以上程序之前,別忘了進(jìn)入BDE Administrator將MSACCESS驅(qū)動(dòng)配置中的DLL32由IDDAO32.DLL改為IDDA3532.DLL,并保存這個(gè)配置。
        為了使程序運(yùn)行得更流暢,可以在Database1的OnLogin事件函數(shù)中加入以下代碼:
        LoginParams->Values["PASSWORD"]="";
        LoginParams->Values["USERNAME"]="";

        這樣在運(yùn)行程序時(shí)就不會(huì)彈出數(shù)據(jù)庫(kù)登錄的對(duì)話框了。

        以上程序在Windows95操作系統(tǒng),C++ Builder 3下調(diào)試運(yùn)行通過(guò)。

        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 一个人免费观看视频www| 精品无码专区亚洲| 国产精品极品美女免费观看| 伊人免费在线观看高清版| 亚洲人成网站免费播放| 亚洲最大中文字幕| 亚洲系列中文字幕| 久久精品国产亚洲综合色| 无码专区一va亚洲v专区在线| 日本免费人成在线网站| 一区二区三区视频免费观看| 亚洲人成人无码.www石榴| 亚洲va在线va天堂成人| 亚洲人成电影网站色| 亚洲6080yy久久无码产自国产| 亚洲日本乱码卡2卡3卡新区| 91亚洲精品自在在线观看| 亚洲欧洲日产国码在线观看| 亚洲中文字幕人成乱码| 亚洲精品永久在线观看| 韩国亚洲伊人久久综合影院| 在线精品自拍亚洲第一区| 污网站在线免费观看| 黄 色一级 成 人网站免费| 东北美女野外bbwbbw免费| 男的把j放进女人下面视频免费| 99久久久国产精品免费牛牛四川| 1000部羞羞禁止免费观看视频| 免费不卡视频一卡二卡| 免费在线观看一级毛片| 久久久久亚洲Av片无码v| 亚洲五月综合缴情婷婷| 一级特黄色毛片免费看| 91青青青国产在观免费影视| 毛片基地免费观看| 亚洲大片在线观看| 未满十八私人高清免费影院| 久久午夜夜伦鲁鲁片免费无码影视| 免费在线观看黄色毛片| 亚洲国产精品成人精品小说| 一级一级一级毛片免费毛片|