日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

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

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

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

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

中國計算機(jī)報 趙天平

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

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

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

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

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

在運(yùn)行期使用Access數(shù)據(jù)庫
在運(yùn)行期使用Access數(shù)據(jù)庫,在表單Form1中除了以上控件外,還需增加一個BDE會話期對象,即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ù)庫別名
name_1="DATABASE NAME="+app_path+"123.mdb";
if(!Session1->IsAlias(alias_1))
//數(shù)據(jù)庫別名不存在
{
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ū)動配置中的DLL32由IDDAO32.DLL改為IDDA3532.DLL,并保存這個配置。
為了使程序運(yùn)行得更流暢,可以在Database1的OnLogin事件函數(shù)中加入以下代碼:
LoginParams->Values["PASSWORD"]="";
LoginParams->Values["USERNAME"]="";

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

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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: www.日日爱 | 97九色| 亚洲天堂中文字幕在线观看 | 欧美综合区| 国产成人免费在线视频 | 欧美黄色网址大全 | 在线视频综合视频免费观看 | 九九精品视频在线 | 国产尤物福利视频在线观看 | 天天干天天爽天天操 | 久久er99热精品一区二区 | 激情视频在线观看网站 | 六月丁香婷婷网 | 60老妇性xxxxhd| 热re99久久精品国99热 | 色天天综合色天天碰 | flypaper未删减手机在线观看 | 99久久成人国产精品免费 | 国产小视频你懂的 | 91亚洲精品一区二区三区 | 久久91精品国产91久久小草 | 国产 日韩 欧美视频二区 | 日韩欧美中 | 免费爱爱视频 | 91极品在线观看 | 亚洲 成人 欧美 自拍 | 亚洲精品一区二区观看 | 亚洲欧美中文日韩在线视线 | 欧美日韩一本二本 | 2021国产成人精品久久 | 欧美成片 | 波多野结衣中文无毒不卡 | 免费看的www视频网站视频 | 99国产精品久久久久久久日本 | 免费一区在线观看 | 国产精品v欧美精品v日本精 | 99热国产这里只有精品免费 | 国内精品久久久久影院日本 | 一区二区三区免费视频观看 | 一二三四日本手机高清视频 | 四虎国产精品永久在线网址 |