• <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>

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

            Blog @ Blog

            當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

            常用鏈接

            統計

            積分與排名

            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();
            //連接數據庫
            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);
                    
            //得到結果
                    _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,"網絡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;///定義為無參數
                    
                    m_pCommand
            ->Execute(&vNULL,&vNULL,adCmdText);
                }

            }

            catch(_com_error e) //捕捉異常
            {
                CString errormessage;
                errormessage.Format(
            "連接數據庫失敗!\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)運行此程序需要有sql支持,注意用戶和密碼

            其實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到了這里你就可以看有關ADO的資料了
            5)再介紹一本有關ADO本質的好書
            書名<ADO編程技術>
            著者:David Sceppa
            出版社:清華大學出版社
            ISBN:7-900630-89-9

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

            廣告信息(免費廣告聯系)

            中文版MSDN:
            歡迎體驗

            国产精品九九久久精品女同亚洲欧美日韩综合区 | 三级三级久久三级久久| 久久久久这里只有精品| 伊人情人综合成人久久网小说| 亚洲国产日韩欧美综合久久| 超级碰碰碰碰97久久久久| 777午夜精品久久av蜜臀| 久久亚洲精品人成综合网| 狠狠久久亚洲欧美专区| 久久99精品国产麻豆蜜芽| 一级女性全黄久久生活片免费 | 久久99精品国产| 久久亚洲av无码精品浪潮| 日产精品久久久久久久| 久久国产成人午夜aⅴ影院| 午夜精品久久久久久久无码| 久久无码人妻一区二区三区午夜| 国产精品无码久久综合网| 最新久久免费视频| 久久国产精品视频| 久久99国产综合精品免费| 色综合久久久久综合99| 99久久er这里只有精品18| 欧美一区二区久久精品| 99久久免费只有精品国产| 无码人妻久久一区二区三区| 久久国产乱子伦精品免费午夜| 精品久久久久久无码专区| 中文精品99久久国产 | 免费精品久久天干天干| 国产精品伦理久久久久久| 日韩人妻无码精品久久免费一| 日日狠狠久久偷偷色综合免费| 国产一级持黄大片99久久| 婷婷久久香蕉五月综合加勒比 | 亚洲va久久久噜噜噜久久天堂| 伊人久久大香线蕉精品不卡| 国产成人久久久精品二区三区| 嫩草影院久久国产精品| 国内精品久久久久影院免费| 久久精品夜夜夜夜夜久久|