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

            為生存而奔跑

               :: 首頁 :: 聯系 :: 聚合  :: 管理
              271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

            留言簿(5)

            我參與的團隊

            搜索

            •  

            積分與排名

            • 積分 - 328386
            • 排名 - 74

            最新評論

            閱讀排行榜

            評論排行榜

            一、CRecordSet類中有一個成員變量m_pDatabase,它是指向數據庫類的指針。可以通過以下方式將數據集關聯到相應的數據庫上:

            1.CRecordSet rs;

               rs.m_pDatabase=&m_database;

            2.CRecordSet rs(&m_database);

            二、可以定義一個類,例如crs類,繼承于CRecordSet,在 DoFieldExchange(CFieldExchange* pFX)函數中將數據庫中的字段對應到該類(crs類)的成員變量中。這樣,就可以通過直接訪問該類中的成員變量,來訪問查詢出的記錄集中的數據庫中相應 的字段。注意,DoFieldExchange(CFieldExchange* pFX)中的字段數必須不能大于數據庫中的字段數。如果sql語句中有像select sum(num) as snum from **....   這樣,不能把snum也作為一個字段對應到crs類的一個成員變量中。此時可以直接定義一個CRecordSet類的實例rs ,通過rs.GetFieldValue(0,varsum) 函數得到。其中,0是rs中要查詢的字段的下標,從0開始。varsum是CDBVariant對象。通過varsum.m_iVal得到該字段的值(如 果該字段是int。但是sum函數求出的字段是double類型的,因此要用varsum.m_dblVal得到該子段的值)

            msdn example:

            // Create and open a database object;
            // do not load the cursor library
            CDatabase db;
            db.OpenEx(NULL, CDatabase::forceOdbcDialog);

            // Create and open a recordset object
            // directly from CRecordset. Note that a
            // table must exist in a connected database.
            // Use forwardOnly type recordset for best
            // performance, since only MoveNext is required
            CRecordset rs(&db);
            rs.Open(CRecordset::forwardOnly, _T("SELECT * FROM Customer"));

            // Create a CDBVariant object to
            // store field data
            CDBVariant varValue;

            // Loop through the recordset,
            // using GetFieldValue and
            // GetODBCFieldCount to retrieve
            // data in all columns
            short nFields = rs.GetODBCFieldCount();
            while(!rs.IsEOF())
            {
               for(short index = 0; index < nFields; index++)
               {
                  rs.GetFieldValue(index, varValue);
                  // do something with varValue
               }
               rs.MoveNext();
            }

            rs.Close();
            db.Close();

            三、當記錄集的屬性為CRecordset::forwardOnly時,可以不用講列與字段綁定

            但是當它為CRecordset::snapshot時,必須對應。

            posted on 2010-08-04 07:39 baby-fly 閱讀(2398) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            久久精品国产一区二区三区| 国产精品无码久久四虎| 亚洲国产精品无码久久久不卡 | 国产精品成人久久久久久久| 色综合久久88色综合天天| 久久99精品久久久久久齐齐| 色婷婷久久久SWAG精品| 久久午夜羞羞影院免费观看| 国产精品无码久久久久| 热re99久久6国产精品免费| 久久久久免费精品国产| 青青热久久国产久精品 | 久久久久亚洲AV成人网| 久久精品国产亚洲AV忘忧草18| 精品国产乱码久久久久久1区2区| 国产综合免费精品久久久| 久久AV高潮AV无码AV| 丁香五月综合久久激情| 久久婷婷激情综合色综合俺也去| 国产午夜精品久久久久九九电影| 亚洲va久久久噜噜噜久久| 久久人人爽人人爽人人片AV东京热| 久久婷婷国产综合精品| 怡红院日本一道日本久久 | 香蕉久久夜色精品国产小说| 久久精品免费全国观看国产| 国产亚洲婷婷香蕉久久精品| 久久国产免费直播| 日韩AV毛片精品久久久| 国产福利电影一区二区三区久久久久成人精品综合 | 人妻丰满?V无码久久不卡| 久久夜色精品国产亚洲| 91久久精品91久久性色| 性做久久久久久久| 亚洲国产精品一区二区久久hs| 合区精品久久久中文字幕一区| 91秦先生久久久久久久| 久久久久中文字幕| 国产精品99久久久久久董美香| 国产成人AV综合久久| 久久精品国产精品亚洲人人|