亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        萬為清

        一、引言

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

        二、程序?qū)崿F(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)建基于對話框的應(yīng)用程序

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

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

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

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

        4、在窗體上放置控件

        在對話框上放置相應(yīng)的各控件。

        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()

        {//點擊“插入”,將當(dāng)前編輯框中的學(xué)號和姓名插入到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,編譯并生成應(yīng)用程序,得到我們前面看到的效果圖的應(yīng)用程序。

        三、結(jié)束語

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

        參考文獻:

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

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

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

        猜你喜歡
        數(shù)據(jù)庫方法
        學(xué)習(xí)方法
        數(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
        賺錢方法
        欧美成人高清手机在线视频| 天天噜日日噜狠狠噜免费| 少妇高潮惨叫正在播放对白| 亚洲熟妇色xxxxx欧美老妇| 精品人妻久久av中文字幕| 国产精品国产三级国产av18| 极品少妇小泬50pthepon| 推油少妇久久99久久99久久| 久久精品国产成人午夜福利| 美女脱掉内裤扒开下面让人插| 人妻尝试又大又粗久久| 高潮毛片无遮挡高清免费| 亚洲欧美国产精品久久久| 最近中文字幕精品在线| 国产亚洲成av人片在线观看| 真实国产乱啪福利露脸| 无遮高潮国产免费观看韩国| 中文字幕有码在线人妻| 朝鲜女人大白屁股ass孕交| 中文字幕无码精品亚洲资源网久久| 未发育成型小奶头毛片av| 337p日本欧洲亚洲大胆| 亚洲熟妇色xxxxx欧美老妇y| 亚洲最大av免费观看| 日韩精品在线观看在线| 国产精品亚洲αv天堂无码| 亚洲综合自拍| 日韩中文字幕乱码在线| 久久夜色精品国产亚洲av动态图| 精品无码人妻一区二区三区品| 欧美精品aaa久久久影院| 国产视频在线观看一区二区三区| 国产成人精品无码一区二区三区| 无码人妻精品一区二区三18禁| 久久精品综合国产二区| 国语对白免费观看123| 日本免费a级毛一片| 粉嫩极品国产在线观看| 永久免费看黄网站性色| 一本一道av无码中文字幕麻豆| 美女视频一区|