国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2013-12-30 08:57:04萬為清
商品與質量·消費研究 2013年10期
關鍵詞:管理程序數(shù)據(jù)表控件

萬為清

一、引言

數(shù)據(jù)庫在日常生活生產(chǎn)中大量使用,也出現(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ā)得到簡化?;贏DO技術的應用程序可以通過一致的接口來訪問各種各樣的數(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ù)表控件
軍事保密管理程序法治化及其對軍民協(xié)同創(chuàng)新發(fā)展的促進研究
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
關于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
關于EPC總承包項目設計管理程序文件的研究
圖表
FMC移動性管理程序
河南科技(2014年24期)2014-02-27 14:19:26
基于VSL的動態(tài)數(shù)據(jù)表應用研究
河南科技(2014年24期)2014-02-27 14:19:25
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
寧德核電管理體系建設與優(yōu)化
中國核電(2011年3期)2011-11-20 01:46:10
鹿邑县| 合川市| 永泰县| 潮州市| 虹口区| 专栏| 淮阳县| 佛教| 东港市| 宜丰县| 荥阳市| 理塘县| 健康| 鄂尔多斯市| 兴义市| 普格县| 黄冈市| 股票| 聂拉木县| 定日县| 耒阳市| 辽阳市| 肥乡县| 海原县| 文登市| 新和县| 浮梁县| 内丘县| 桂东县| 城市| 樟树市| 子长县| 古田县| 锦屏县| 房产| 广平县| 嘉荫县| 衢州市| 襄垣县| 彰化市| 墨竹工卡县|