999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Visual C++用ADO操作Access數(shù)據(jù)庫的方法探討

2013-12-30 08:57:04萬為清
商品與質量·消費研究 2013年10期
關鍵詞:數(shù)據(jù)庫方法

萬為清

一、引言

數(shù)據(jù)庫在日常生活生產中大量使用,也出現(xiàn)了各種數(shù)據(jù)庫管理系統(tǒng)如ACCESS、SQL SERVER、ORACLE等。但這些數(shù)據(jù)管理系統(tǒng)不能開發(fā)出適合人們應用的Windows應用程序。而VC能將關系數(shù)據(jù)庫和OOP(面向對象)編程方法結合起來,做出具有強大的數(shù)據(jù)管理能力和靈活適用的應用程序。VC操縱數(shù)據(jù)庫的常用方法有ODBC、DAO、ADO、OLE DB等幾種方法,其中最適合教學和工程應用軟件開發(fā)的是ADO的方法。ADO技術是基于OLE DB的訪問技術,它繼承了OLE DB的技術優(yōu)點,并且將OLE DB的接口作了封裝,定義了ADO對象,使程序開發(fā)得到簡化。基于ADO技術的應用程序可以通過一致的接口來訪問各種各樣的數(shù)據(jù),不需要關心數(shù)據(jù)存放位置,也不需要進行數(shù)據(jù)轉移、復制、轉換,在實現(xiàn)分布式數(shù)據(jù)庫應用上有很大的優(yōu)勢。下面通過一個簡易學生管理程序來敘述VC用ADO方式操縱Access數(shù)據(jù)庫的方法,和開發(fā)數(shù)據(jù)庫應用程序的基本過程。

二、程序實現(xiàn)代碼及步驟

1、創(chuàng)建ACCESS數(shù)據(jù)庫

在Access2000中創(chuàng)建一個數(shù)據(jù)庫db1,并創(chuàng)建一個數(shù)據(jù)表stu,添加2個字段(xh,文本型,字段大小10)(xm,文本型,字段大小10)。輸入幾條記錄用于讀寫測試。

2、創(chuàng)建基于對話框的應用程序

用APP Wizard創(chuàng)建一個基于對話框的應用程序Adodb2010。

3、引入ADO函數(shù)庫

在Stdafx.h結尾處添加引入msado15.dll的語句。

#import " msado15.dll msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")

4、在窗體上放置控件

在對話框上放置相應的各控件。

5、連接數(shù)據(jù)庫和數(shù)據(jù)表

在初始化函數(shù)中連接數(shù)據(jù)庫和數(shù)據(jù)表。

代碼如下:

CString strname;

strname.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;","","",adModeUnknown);

AfxOleInit();

AfxEnableControlContainer();

m_pConnection.CreateInstance("ADODB.Connection");

_bstr_t strConnect=strname;

m_pConnection->Open(strConnect,"","",adModeUnknown);

m_pRecordset.CreateInstance("ADODB.Recordset");

CString sql="SELECT * FROM stu";

m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);//

6、各個按鈕的功能函數(shù)

1)

void CAdodb2010Dlg::OnButton1()

{

m_pRecordset->MoveNext();

if(m_pRecordset->adoEOF)

m_pRecordset->MoveFirst();

CString m;

m=(char *)(_bstr_t)m_pRecordset->GetCollect("xh");

GetDlgItem(IDC_EDIT1)->SetWindowText(m);

m=(char *)(_bstr_t)m_pRecordset->GetCollect("xm");

GetDlgItem(IDC_EDIT2)->SetWindowText(m);

}

2)

void CAdodb2010Dlg::OnButton2()

{

//點擊“上一條記錄”顯示上一條記錄

m_pRecordset->MovePrevious();

if(m_pRecordset->adoBOF)

m_pRecordset->MoveLast();

}

3)

void CAdodb2010Dlg::OnButton3()

{

sql.Format("select * from stu where xh='%s'",s1);

m_pRecordset->Open(_variant_t(sql),_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

var = m_pRecordset->GetCollect("xm");

m=(char *)(_bstr_t)m_pRecordset->GetCollect("xm");

GetDlgItem(IDC_EDIT2)->SetWindowText(m);

}

4)

void CAdodb2010Dlg::OnButton4()

{//點擊“插入”,將當前編輯框中的學號和姓名插入到stu數(shù)據(jù)表中

_RecordsetPtr m_pRecordset;

m_pRecordset.CreateInstance("ADODB.Recordset");

CString sql,m1,m2;

GetDlgItem(IDC_EDIT1)->GetWindowText(m1);

GetDlgItem(IDC_EDIT2)->GetWindowText(m2);

sql.Format("Insert into stu (xh,xm) values ('%s','%s')",m1,m2);

_variant_t RecordsAffected;

m_pConnection->Execute((_bstr_t)sql,&RecordsAffected;,adCmdText);

}

5)

void CAdodb2010Dlg::OnButton5()

{

sql.Format("delete from stu where xh='%s'",m1);

_variant_t RecordsAffected;

m_pConnection->Execute((_bstr_t)sql,&RecordsAffected;,adCmdText);

}

7、最后點擊VC編譯器菜單中的Build下的Rebuild All,編譯并生成應用程序,得到我們前面看到的效果圖的應用程序。

三、結束語

本文通過一個簡易學生管理程序介紹了VC++6.0用ADO技術操縱Access數(shù)據(jù)庫具體方法,對數(shù)據(jù)庫和數(shù)據(jù)表進行連接、查詢、插入、刪除、修改等操作。在實際工程軟件開發(fā)項目中對以上應用程序略加修改,加上ListView表格控件就可以生成功能更完善的學生管理軟件。也可以將連接ACCESS數(shù)據(jù)庫的方法修改一下,連接SQL SERVER數(shù)據(jù)庫,做成網(wǎng)絡數(shù)據(jù)庫應用軟件。目前該方法已經(jīng)在省電腦大賽訓練教學和工程軟件開發(fā)得到大量使用,取得了很好的效果。

參考文獻:

[1]鄭阿奇,Visual C++教程,機械工業(yè)出版社,2004

[2]黃慶生,精通VISUAL C++ 6.0,人民郵電出版社 ,1999年6月

[3]宋耀文,ADO開發(fā)技術在Visual C++中的實現(xiàn),哈爾濱師范大學自然科學學報2003.5

猜你喜歡
數(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ù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 精品久久人人爽人人玩人人妻| 日韩人妻精品一区| 欧美成人第一页| 亚洲成a人片7777| 久久99这里精品8国产| 免费Aⅴ片在线观看蜜芽Tⅴ | 精久久久久无码区中文字幕| 国产毛片久久国产| 国产96在线 | 无码视频国产精品一区二区| 国产青青操| 亚洲欧洲日韩综合色天使| 亚洲成AV人手机在线观看网站| 国产中文一区二区苍井空| 91精品国产自产在线老师啪l| 大陆精大陆国产国语精品1024| 亚洲综合激情另类专区| 农村乱人伦一区二区| 中文字幕丝袜一区二区| 亚洲无码高清视频在线观看| 久久综合一个色综合网| 欧美一级色视频| 欧美亚洲一二三区| 丝袜国产一区| 四虎影院国产| 国产在线无码av完整版在线观看| 欧美精品在线免费| 在线观看无码av五月花| 国产午夜人做人免费视频中文| 国产欧美亚洲精品第3页在线| 国产亚洲高清在线精品99| 亚洲色无码专线精品观看| 日韩视频福利| 欧美在线视频a| 成人小视频网| 亚洲中文字幕av无码区| 在线免费观看a视频| 久久女人网| 19国产精品麻豆免费观看| 久久国产精品嫖妓| 精品三级在线| AV在线麻免费观看网站 | a级毛片免费网站| 高潮爽到爆的喷水女主播视频| 人妻91无码色偷偷色噜噜噜| 色哟哟精品无码网站在线播放视频| 91精品国产综合久久不国产大片| 午夜精品区| 国产精女同一区二区三区久| 国产青榴视频| 亚洲一级毛片免费看| 亚洲香蕉久久| 中文字幕精品一区二区三区视频 | 一本色道久久88| 亚洲国产AV无码综合原创| 亚洲伊人天堂| 在线观看精品国产入口| 日韩欧美国产精品| 情侣午夜国产在线一区无码| 国产网站在线看| 欧美精品黑人粗大| 亚洲国产成人精品一二区| 亚洲欧美日本国产专区一区| 国产91成人| 久久亚洲AⅤ无码精品午夜麻豆| 成人综合网址| 亚洲日韩AV无码精品| 亚洲成人网在线观看| 五月婷婷欧美| 亚洲三级片在线看| 色播五月婷婷| 亚洲伦理一区二区| 国产XXXX做受性欧美88| 国产在线97| 97色伦色在线综合视频| 色首页AV在线| 亚洲高清无在码在线无弹窗| 亚洲无码电影| 久久综合成人| 亚洲国产综合精品中文第一| 精品人妻一区二区三区蜜桃AⅤ| 精品久久久久成人码免费动漫 |