RFX_Text
Převody CString data mezi poli datových členů sady CRecordset objekt a sloupce záznamu ve zdroji dat ODBC typu SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL, nebo SQL_NUMERIC.
void RFX_Text(
CFieldExchange* pFX,
const char* szName,
CString& value,
int nMaxLength = 255,
int nColumnType = SQL_VARCHAR,
short nScale = 0
);
Parametry
pFX
Ukazatel na objekt třídy CFieldExchange.Tento objekt obsahuje informace, které definují kontext pro každé volání funkce.Další informace o operacích CFieldExchange objekt můžete určit, naleznete v článku Výměna pole záznamu: Jak funguje RFX.szName
Název datového sloupce.hodnota
Hodnota uložená v určeném datovém členu – hodnota, kterou chcete převést.Pro přenos ze sady záznamů do zdroje dat, je hodnota typu CString, je převzata ze zadaného datového člena.Převod ze zdroje dat do sady záznamů hodnota je uložena v členu zadaná data.nMaxLength
Maximální povolená délka řetězce nebo pole přenosu.Výchozí hodnota nMaxLength je 255.Platné hodnoty jsou 1 až INT_MAX.Rámci přidělí toto množství místa pro data.Chcete-li dosáhnout optimálního výkonu předáte hodnotu dostatečně velká k pokrytí největší datové položky, které očekáváte.nColumnType
Používá se především pro parametry.Celé číslo označující datový typ parametru.Typ je typ dat ODBC formuláře SQL_XXX.nScale
Určuje měřítko pro hodnoty typu ODBC SQL_DECIMAL nebo SQL_NUMERIC.nScaleje užitečné pouze při nastavení hodnot parametrů.Další informace naleznete v tématu "Přesnost, měřítko, délka a velikost zobrazení" v dodatku D ODBC SDK Programmer's Reference.
Poznámky
Data ve zdroji dat všech těchto typů je mapován v CString v sadě záznamů.
Příklad
Tento příklad ukazuje několik volání RFX_Text.Všimněte si také dvě volání na CFieldExchange::SetFieldType.Pro parametry musíte napsat volání SetFieldType a jeho volání RFX.Volání výstupní sloupce a jeho přidružené volání RFX se normálně zapisují pomocí Průvodce kódem.
void CCustomer::DoFieldExchange(CFieldExchange* pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
// Macros such as RFX_Text() and RFX_Int() are dependent on the
// type of the member variable, not the type of the field in the database.
// ODBC will try to automatically convert the column value to the requested type
RFX_Long(pFX, _T("[CustomerID]"), m_CustomerID);
RFX_Text(pFX, _T("[ContactFirstName]"), m_ContactFirstName);
RFX_Text(pFX, _T("[PostalCode]"), m_PostalCode);
RFX_Text(pFX, _T("[L_Name]"), m_L_Name);
RFX_Long(pFX, _T("[BillingID]"), m_BillingID);
pFX->SetFieldType(CFieldExchange::inputParam);
RFX_Text(pFX, _T("Param"), m_strParam);
}
Požadavky
Soubor hlaviček: afxdb.h