六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

單獨(dú)使用CRecordSet

[摘要]聞怡洋 一般情況下AppWizard會(huì)在數(shù)據(jù)庫(kù)應(yīng)用程序中自動(dòng)產(chǎn)生CRecordset的派生類,并將派生類和某個(gè)數(shù)據(jù)源中的表聯(lián)系起來(lái)也可以和視圖上的子窗口聯(lián)系起來(lái)。但是有時(shí)這樣做會(huì)影響到程序的靈活性,這時(shí)候我們可以單獨(dú)使用CRecordSet類。利用CRecordSet類我們可以執(zhí)行SQL語(yǔ)...
  
聞怡洋

    一般情況下AppWizard會(huì)在數(shù)據(jù)庫(kù)應(yīng)用程序中自動(dòng)產(chǎn)生CRecordset的派生類,并將派生類和某個(gè)數(shù)據(jù)源中的表聯(lián)系起來(lái)也可以和視圖上的子窗口聯(lián)系起來(lái)。但是有時(shí)這樣做會(huì)影響到程序的靈活性,這時(shí)候我們可以單獨(dú)使用CRecordSet類。利用CRecordSet類我們可以執(zhí)行SQL語(yǔ)句,并可以讀出結(jié)果集中數(shù)據(jù)。
    首先我們需要包含頭文件afxdb.h,可以將#include 添加到stdafx.h文件中。此外在使用CRecordset時(shí)必須有一個(gè)又一個(gè)CDatabase對(duì)象,該對(duì)象的作用是管理數(shù)據(jù)源連接。然后可以產(chǎn)生一個(gè)CRecordset對(duì)象,利用
    BOOL CRecordset::Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none )可以執(zhí)行SQL語(yǔ)句。
    但執(zhí)行成功后,可以調(diào)用以下的函數(shù)滾動(dòng)光標(biāo),讀取數(shù)據(jù)。 MoveFirst移動(dòng)光標(biāo)到第一條記錄處
MoveNext  移動(dòng)光標(biāo)到后一條記錄處
MovePrev  移動(dòng)光標(biāo)到前一條記錄處
MoveLast  移動(dòng)光標(biāo)到最后一條記錄處
IsBOF      檢測(cè)光標(biāo)是否在第一條記錄上
IsEOF      檢測(cè)光標(biāo)是否在最后一條記錄上
GetFieldvalue  得到結(jié)果中數(shù)據(jù)
下面是具體代碼:
/*
假設(shè)CDatabase m_dbConn為成員變量
假設(shè)有一個(gè)表有如下SQL語(yǔ)句產(chǎn)生:CREATE TABLE table1(loc_id not null)
*/
void CYourClass::ConnectToDB()
{//連接數(shù)據(jù)庫(kù)
    BOOL fOK = m_dbConn.Open("test");
    TRACE("connect fOK=%d\n",m_dbConn);
}

void CYourClass::Select()
{//執(zhí)行SELECT語(yǔ)句
    CRecordset rec(&m_dbConn);
    BOOL fOK = rec.Open(CRecordset::forwardOnly,"select loc_id from table1 order by loc_id");
    TRACE("select fOK = %d\n",fOK);
    TRACE("返回的列數(shù)為:%d\n",rec.GetRowsetSize());
    CString szResult;
    while(!rec.IsEOF())
    {
        rec.GetFieldvalue((int)0,szResult);
        rec.MoveNext();
        TRACE("fetch : %s\n",szResult);
    }
}

    此外CRecordset::GetFieldvalue有很多種原型,你可以通過(guò)指定列位置或是字段名來(lái)獲取數(shù)據(jù):
void GetFieldvalue( LPCTSTR lpszName, CDBVariant& varvalue, short
nFieldType = DEFAULT_FIELD_TYPE );

void GetFieldvalue( short nIndex, CDBVariant& varvalue, short nFieldType =
DEFAULT_FIELD_TYPE );

void GetFieldvalue( LPCTSTR lpszName, CString& strvalue );

void GetFieldvalue( short nIndex, CString& strvalue );

    如果使用CDBVariant類型變量來(lái)獲取結(jié)果,你可以得到任何類型的結(jié)果。在CDBVariant::m_dwType成員變量中記錄了該變量所包含的數(shù)據(jù)類型,根據(jù)該變量的值你可以確定數(shù)據(jù)類型并引用CDBVariant對(duì)象中的相應(yīng)成員變量。


主站蜘蛛池模板: 亚洲伊人久久大香线蕉结合 | 日韩电源| 欧美亚洲一区二区三区导航 | 自拍三区 | 在线免费欧美 | 中文字幕在线导航 | 日本免费完整版观看 | 青娱乐成人 | 天天射夜夜操 | 妖精视频亚洲 | 欧美一区日韩一区中文字幕页 | 四虎国产在线 | 午夜高清视频 | 日产精品卡二卡三卡四卡乱码视频 | 四虎4hu永久免费国产精品 | 午夜亚洲 | 亚洲青青草原 | 亚洲欧美在线视频 | 午夜视频啪啪 | 欧美无专区 | 亚洲第一区二区快射影院 | 亚洲成a人v在线观看 | 欧美一级xxxx俄罗斯一级 | 日韩三级黄色片 | 日日夜夜天天干干 | 天天天天做夜夜夜夜 | 欧美在线a级高清 | 青青草原在线视频免费观看 | 日韩一级片在线观看 | 日韩国产欧美在线观看 | 青青草综合在线 | 日产日韩亚洲欧美综合搜索 | 一二三四免费观看高清观看在线 | 亚洲精品在线播放视频 | 杨幂国产精品福利在线观看 | 一级女人18毛片免费 | 婷婷激情片| 天堂最新在线资源 | 天天干天天拍天天射 | 午夜视频网站 | 亚洲成人午夜影院 |