网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 RFX::Text_Bulk
释义 RFX_Text_Bulk

void RFX_Text_Bulk(
     CFieldExchange* pFX,
     LPCTSTR szName,
     LPSTR* prgStrVals,
     long** prgLengths,
     int nMaxLength
    );

参数:
pFX指向CFieldExchange类对象的指针。这个对象包含了一些信息,用于定义函数调用的上下文环境。有关CFieldExchange对象能指定的操作的更多信息参见“Visual C++程序员指南”中的文章“记录字段交换:RFX如何工作”。
szName数据列的名字。
prgStrVals指向LPSTR数组的指针。这个数组中保存了将要从数据源传送到记录集的数据。注意在ODBC的当前版本中,这些值不能是Unicode的。
prgLengths指向长整数数组的指针。这个数组中保存了prgFltVals指向的数组中每个值的以字节为单位的长度。注意如果对应的数据项中是个NULL值,那么这个数组中将保存一个SQL_NULL_DATA值。更多的细节参见“ODBC SDK程序员参考”中的ODBC API函数SQLBindCol。
nMaxLengthprgStrVals所指向的数组中所能保存的值的最大长度,包括null结束字符。为了确保数据不被截断,应当传递一个足够大的值,使之能够容纳你要求的最大的数据项。

说明:
RFX_Text_Bulk函数将ODBC数据源的数据列中的多行字符数据传送给CRecordset的派生对象中的相应数组。数据源的列可以是SQL_LONGVARCHAR,SQL_CHAR,SQL_VARCHAR,SQL_DECIMAL或SQL_NUMERIC类型的。记录集必须定义一个LPSTR指针型的字段数据成员。
如果你把prgStrVals和prgLengths初始化为NULL,那么它们指向的数组将自动分配,其大小等于行集的大小。
注意:
成组记录字段交换仅把数据从数据源传送到记录集对象。如果要使你的记录集可更新,你必须使用ODBC的API函数SQLSetPos。这种做法的例子参见DBFETCH。
更多的信息参见“Visual C++程序员指南”中的文章“记录集:成组获取记录(ODBC)”和“记录字段交换(RFX)”。

示例:
ClassWizard不支持Bulk RFX函数,因此你必须手动在DoBulkFieldExchange函数中写入调用。这个例子演示了对RFX_Text_Bulk的调用,同时还有对RFX_Long_Bulk的调用。这些调用的前面是CFieldExchange::SetFieldType。注意对于参数,你调用RFX函数,而不是Bulk RFX函数。
void MultiRowSet::DoBulkFieldExchange( CFieldExchange* pFX )
{
  pFX->SetFieldType( CFieldExchange::outputColumn );
  RFX_Long_Bulk( pFX, _T( "[colRecID]" ), &m_rgID, &m_rgIDLenghts );
  RFX_Text_Bulk( pFX, _T( "[colName]" ), &m_rgName, &m_rgNameLengths, 30 );
  pFX->SetFieldType( CFieldExchange::inputParam );
  RFX_Text( pFX, "NameParam", m_strNameParam );
}

请参阅:
RFX_Binary_Bulk, RFX_Bool_Bulk, RFX_Byte_Bulk, RFX_Date_Bulk, RFX_Double_Bulk, RFX_Int_Bulk, RFX_Long_Bulk, RFX_Single_Bulk, CFieldExchange::SetFieldType
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 12:32:58