• <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 閱讀(853) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫

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

            中文版MSDN:
            歡迎體驗

            久久丝袜精品中文字幕| 潮喷大喷水系列无码久久精品| 国产无套内射久久久国产| 国产精品久久久99| 日韩久久久久久中文人妻| 久久99精品国产99久久| 久久久无码精品亚洲日韩软件| 欧美亚洲国产精品久久| 九九久久自然熟的香蕉图片| 久久久久一本毛久久久| 97超级碰碰碰久久久久| 久久亚洲精品国产精品婷婷| 狠狠色丁香久久婷婷综| 18岁日韩内射颜射午夜久久成人| 亚洲国产成人久久综合一| 久久久亚洲欧洲日产国码二区| 国产免费久久精品丫丫| 久久99精品国产麻豆宅宅| 新狼窝色AV性久久久久久| 色综合久久88色综合天天 | 91久久国产视频| 精品999久久久久久中文字幕| 无码精品久久久久久人妻中字| 久久人人爽人人澡人人高潮AV| 99久久国产综合精品网成人影院| 久久精品日日躁夜夜躁欧美| 最新久久免费视频| 久久夜色精品国产www| 精品国产综合区久久久久久| 99久久精品国产毛片| 国产成人久久久精品二区三区| 久久人人爽人人爽人人片av高请| 国内精品综合久久久40p| 久久久国产精华液| 99久久国产亚洲综合精品| 久久国产亚洲精品| 中文字幕久久精品无码| 久久久SS麻豆欧美国产日韩| 天堂久久天堂AV色综合| 国产亚洲美女精品久久久久狼| 国产精品久久久久久福利漫画|