• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            山寨:不是最好的,是最適合我們的!歡迎體驗(yàn)山寨 中文版MSDN

            Blog @ Blog

            當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見。 -- 聶魯達(dá)

            常用鏈接

            統(tǒng)計

            積分與排名

            BBS

            Blog

            Web

            最新評論

            VC+ADO存取SQL SERVER

            下面的代碼是這樣生成的
            1)先生成一個MFC 對話框工程(名字叫Test),并在stdafx.h加入下面一行,(注意路徑)
            #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
            2)再在Test.h增加下面幾個變量(protected)
            _ConnectionPtr m_pConnection;//connection object's pointer
            _CommandPtr m_pCommand; //command object's pointer
            _ParameterPtr m_pParameter; //Parameter object's pointer
            _RecordsetPtr m_pRecordset;
            3)再修改Test.cpp中的InitInstance()
            //初始化COM庫
            ::AfxOleInit();
            //連接數(shù)據(jù)庫
            HRESULT hr;
            try
            {
                hr
            =m_pConnection.CreateInstance("ADODB.Connection"); 
                
                
                
            if(SUCCEEDED(hr))
                
            {
                    
            //如下的語句
                    char strConnection[100]=" Provider=sqloledb;Data Source=tulip;Initial Catalog=Pubs,User ID=sa; pwd=8818308";
                    m_pConnection
            ->ConnectionTimeout=10;//User ID=sa; pwd=8818308;
                    hr=m_pConnection->Open("Provider=sqloledb; Data Source=tulip; Initial Catalog=Pubs","sa","8818308",adModeUnknown);
                    
            // hr=m_pConnection->Open("Provider=sqloledb; Server=tulip;DATABASE=Northwind;UID=sa;PWD=8818308","","",adModeUnknown);
                    
            // hr=m_pConnection->Open("driver={SQL Server}; Server=127.0.0.1;DATABASE=Northwind;UID=sa;PWD=8818308","","",adModeUnknown);
                    
            //得到結(jié)果
                    _variant_t RecordsAffected;
                    m_pRecordset.CreateInstance(
            "ADODB.Recordset");
                    m_pRecordset
            =m_pConnection->Execute("select * from jobs",&RecordsAffected,adCmdText);
                    
                    
            while (!m_pRecordset->adoEOF)
                    
            {
                        TRACE(
            "job_id:%d,max_lvl:%d,min_lvl:%d\r\n",m_pRecordset->GetCollect(_variant_t((long)0)),m_pRecordset->GetCollect("max_lvl"),m_pRecordset->GetCollect("max_lvl"));
                        m_pRecordset
            ->MoveNext();
                    }

                    
                    
                    
            //存放變量
                    _variant_t job_id,job_desc,max_lvl,min_lvl;
                    
            while(!m_pRecordset->adoEOF)
                    
            {
                        job_id
            =m_pRecordset->GetCollect(_variant_t((long)0));//得到第一項,也可以直接用字段名,見下
                        job_desc=m_pRecordset->GetCollect("job_desc");
                        max_lvl
            =m_pRecordset->GetCollect("max_lvl");
                        min_lvl
            =m_pRecordset->GetCollect("min_lvl");
                        
            ///在DEBUG方式下的OUTPUT窗口輸出記錄集中的記錄
                        if(job_id.vt != VT_NULL && job_desc.vt != VT_NULL && max_lvl.vt != VT_NULL && max_lvl.vt != VT_NULL)
                            TRACE(
            "job_id:%d,max_lvl:%d,min_lvl:%d\r\n",job_id.lVal,/*job_desc,*/max_lvl.lVal,min_lvl.lVal);
                        m_pRecordset
            ->MoveNext();
                    }

                }

                
            if (SUCCEEDED(hr))
                
            {
                    hr
            =m_pCommand.CreateInstance("ADODB.Command");
                    m_pCommand
            ->ActiveConnection=m_pConnection;
                    
            // char strQry[100] = "SELECT au_fname, au_lname, address, city "
                    
            //"FROM authors WHERE state = ";
                    
            // char strQry[100]="Select * from jobs where job_id =";
                    
            // strcat(strQry,"'");
                    
            // strcat(strQry,"12");
                    
            // strcat(strQry,"'");
                    
            // m_pCommand->CommandText="select * from jobs where jobs_id =";
                    m_pCommand->CommandText="Update jobs set job_desc=? where job_id=?";
                    m_pCommand
            ->CommandType=adCmdText;
                    m_pParameter
            =m_pCommand->CreateParameter("job_desc",adVarChar,adParamInput,50,"網(wǎng)絡(luò)2423423");
                    m_pCommand
            ->Parameters->Append(m_pParameter);
                    m_pParameter
            =m_pCommand->CreateParameter("job_id",adSmallInt,adParamInput,10,"12");
                    m_pCommand
            ->Parameters->Append(m_pParameter);
                    _variant_t vNULL;
                    vNULL.vt 
            = VT_ERROR;
                    vNULL.scode 
            = DISP_E_PARAMNOTFOUND;///定義為無參數(shù)
                    
                    m_pCommand
            ->Execute(&vNULL,&vNULL,adCmdText);
                }

            }

            catch(_com_error e) //捕捉異常
            {
                CString errormessage;
                errormessage.Format(
            "連接數(shù)據(jù)庫失敗!\r\n錯誤信息:%s",e.ErrorMessage());
                AfxMessageBox(errormessage);
            //顯示錯誤信息
                return FALSE;
            }


            // Standard initialization
            // If you are not using these features and wish to reduce the size
            // of your final executable, you should remove from the following
            // the specific initialization routines you do not need.以下不變

            4)運(yùn)行此程序需要有sql支持,注意用戶和密碼

            其實(shí)MSDN有許多有ADO的例子,具體路徑是
            MSDN->Platform SDK Documentation-->Data Services ->>Microsoft Data Access Components (MDAC)SDK -->Microsoft ActiveX Data Objects (ADO)--->ADO Programmer's Refernce -->ADO API Reference到了這里你就可以看有關(guān)ADO的資料了
            5)再介紹一本有關(guān)ADO本質(zhì)的好書
            書名<ADO編程技術(shù)>
            著者:David Sceppa
            出版社:清華大學(xué)出版社
            ISBN:7-900630-89-9

            posted on 2008-07-02 16:04 isabc 閱讀(506) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫

            廣告信息(免費(fèi)廣告聯(lián)系)

            中文版MSDN:
            歡迎體驗(yàn)

            99久久亚洲综合精品网站| 韩国三级大全久久网站| 久久精品国产精品国产精品污| 99久久综合国产精品免费| 欧美日韩精品久久久久| 久久精品无码一区二区日韩AV| 久久综合九色综合久99| 国产精品欧美久久久天天影视| 久久久噜噜噜www成人网| 久久九九精品99国产精品| 精品久久久久久久久午夜福利| 久久精品国产亚洲av影院| 2021精品国产综合久久| 99久久国产免费福利| 久久综合久久伊人| 伊人久久精品无码二区麻豆| 久久亚洲AV成人无码电影| 2020最新久久久视精品爱| 欧美色综合久久久久久| 久久久久久精品免费免费自慰| 久久天天躁狠狠躁夜夜96流白浆| 97久久精品无码一区二区天美 | 久久久久久久综合狠狠综合| 国产一区二区久久久| 久久国产欧美日韩精品| 久久se精品一区精品二区国产| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久精品国产欧美日韩99热| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久国产精品77777| 久久精品国产WWW456C0M| 99久久精品免费看国产一区二区三区| 久久精品国产亚洲AV大全| 国产精品内射久久久久欢欢 | 久久精品无码专区免费青青| 精品久久久久久国产牛牛app| 久久无码中文字幕东京热| 国产午夜精品理论片久久| 午夜精品久久久久久毛片| 久久99精品国产麻豆不卡| 国内精品久久久久久99|