Stockage de chaînes dans le fournisseur OLE DB
Remarque
L’Assistant Fournisseur OLE DB ATL n’est pas disponible dans Visual Studio 2019 et versions ultérieures.
Dans CustomRS.h, l’Assistant Fournisseur OLE DB ATL crée un enregistrement utilisateur par défaut appelé CWindowsFile
. Pour gérer les deux chaînes, modifiez CWindowsFile
comme montré dans le code suivant :
////////////////////////////////////////////////////////////////////////
class CCustomWindowsFile:
public WIN32_FIND_DATA
{
public:
DWORD dwBookmark;
static const int iSize = 256; // Add this
TCHAR szCommand[iSize]; // Add this
TCHAR szText[iSize]; // Add this
TCHAR szCommand2[iSize]; // Add this
TCHAR szText2[iSize]; // Add this
BEGIN_PROVIDER_COLUMN_MAP(CCustomWindowsFile)
PROVIDER_COLUMN_ENTRY("FileAttributes", 1, dwFileAttributes)
PROVIDER_COLUMN_ENTRY("FileSizeHigh", 2, nFileSizeHigh)
PROVIDER_COLUMN_ENTRY("FileSizeLow", 3, nFileSizeLow)
PROVIDER_COLUMN_ENTRY_STR("FileName", 4, cFileName)
PROVIDER_COLUMN_ENTRY_STR("AltFileName", 5, cAlternateFileName)
PROVIDER_COLUMN_ENTRY_STR("Command", 6, szCommand) // Add this
PROVIDER_COLUMN_ENTRY_STR("Text", 7, szText) // Add this
PROVIDER_COLUMN_ENTRY_STR("Command2", 8, szCommand2) // Add this
PROVIDER_COLUMN_ENTRY_STR("Text2", 9, szText2) // Add this
END_PROVIDER_COLUMN_MAP()
bool operator==(const CCustomWindowsFile& am) // This is optional
{
return (lstrcmpi(cFileName, am.cFileName) == 0);
}
};
Les membres de données szCommand
et szText
représentent les deux chaînes, avec szCommand2
et szText2
avec des colonnes supplémentaires en cas de besoin. Le membre de données dwBookmark
n’est pas nécessaire pour ce fournisseur en lecture simple, mais est utilisé ultérieurement pour ajouter une interface IRowsetLocate
. Consultez Amélioration du fournisseur simple accessible en lecture seule. L’opérateur ==
compare des instances (l’implémentation de cet opérateur est facultative).
Une fois fait, vous pouvez ajouter la fonctionnalité de Lecture de chaînes dans le fournisseur OLE DB.
Voir aussi
Implémentation d’un fournisseur simple accessible en lecture seule