a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Access > 正文

在C++中使用Access數據庫

2024-09-07 19:02:59
字體:
來源:轉載
供稿:網友

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

在設計期使用Access數據庫

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

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

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

在運行期使用Access數據庫

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

AnsiString app_path,alias_1,name_1;

app_path=ExtractFilePath(ParamStr(0));

//取得應用程序的路徑

alias_1="mydatabase2";

//Access數據庫別名

name_1="DATABASE NAME="+app_path+"123.mdb";

if(!Session1->IsAlias(alias_1))

//數據庫別名不存在

{

TStringListdataname=new TStringList();

dataname->Add(name_1);

Session1->AddAlias(alias_1,"MSACCESS",dataname);//創建別名

delete dataname;

Session1->Close();

}

Database1->AliasName=alias_1;

Database1->DatabaseName="app_alias";

Table1->DatabaseName=Database1->DatabaseName;

Table1->TableName="xxys";

Table1->Active=true;

注意:在運行以上程序之前,別忘了進入BDE Administrator將MSACCESS驅動配置中的DLL32由IDDAO32.DLL改為IDDA3532.DLL,并保存這個配置。

為了使程序運行得更流暢,可以在Database1的OnLogin事件函數中加入以下代碼:

LoginParams->Values["PASSWORD"]="";

LoginParams->Values["USERNAME"]="";

這樣在運行程序時就不會彈出數據庫登錄的對話框了。

以上程序在Windows95操作系統,C++ Builder 3下調試運行通過。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费观看一级毛片 | 一区二区亚洲 | 免费成人在线电影 | 91亚洲精华国产精华精华液 | 国产精品久久久久无码av | 久久一级 | 久久免费小视频 | 亚洲精品久久久一区二区三区 | www.亚洲 | 国产精品高潮呻吟久久a | 黄色网址 | 欧美成人一区二区三区片免费 | 欧美九九 | 91精品秘密在线观看 | 日本不卡一区二区 | 日本福利一区二区 | 色资源 | 国产成人精品999在线观看 | 久久久久久久国产 | 国产96在线观看 | 久草精品视频在线播放 | 欧美日本三级 | 欧美乱妇高清无乱码 | 欧美午夜精品一区二区三区电影 | 爆操欧美| 国产一区二区在线免费观看 | 天天操天天色天天 | 国产欧美精品 | 成年免费a级毛片 | 亚洲黄色一区二区 | 免费国产一区二区 | 99精品欧美一区二区三区 | 久久亚洲精品中文字幕 | 欧美日韩午夜精品 | 久草青青 | 日本国产一区二区三区 | 色综合久久久久 | 黄色毛片在线观看 | 亚洲福利免费 | 最新日韩精品在线观看 | 国产精品色婷婷久久58 |