Stockage de chaînes dans le fournisseur OLE DB
Dans MyProviderRS.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 ou ajoutez votre propre enregistrement utilisateur comme illustré dans le code suivant :
////////////////////////////////////////////////////////////////////////
class CAgentMan:
public WIN32_FIND_DATA
DWORD dwBookmark; // Add this
TCHAR szCommand[256]; // Add this
TCHAR szText[256]; // Add this
TCHAR szCommand2[256]; // Add this
TCHAR szText2[256]; // Add this
{
public:
BEGIN_PROVIDER_COLUMN_MAP()
PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command"), 1, 256, GUID_NULL, CAgentMan, szCommand)
PROVIDER_COLUMN_ENTRY_STR(OLESTR("Text"), 2, 256, GUID_NULL, CAgentMan, szText)
PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command2"), 3, 256, GUID_NULL, CAgentMan, szCommand2)
PROVIDER_COLUMN_ENTRY_STR(OLESTR("Text2"),4, 256, GUID_NULL, CAgentMan, szText2)
END_PROVIDER_COLUMN_MAP()
bool operator==(const CAgentMan& am) // This is optional
{
return (lstrcmpi(cFileName, wf.cFileName) == 0);
}
};
Les données membres szCommand et szText représentent les deux chaînes, szCommand2 et szText2 fournissant des colonnes supplémentaires le cas échéant. Les données membres dwBookmark ne sont pas nécessaires pour ce fournisseur simple accessible en lecture seule mais sont utilisées 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 cette opération effectuée, le fournisseur est normalement prêt pour la compilation et l'exécution. Pour tester le fournisseur, vous avez besoin d'un consommateur doté de fonctionnalités correspondantes. Implémentation d'un consommateur simple montre comment créer un tel consommateur de test. Exécutez le consommateur de test avec le fournisseur. Vérifiez que le consommateur de test récupère les chaînes appropriées à partir du fournisseur lorsque vous cliquez sur le bouton Exécuter dans la boîte de dialogue Consommateur de test.
Une fois que vous avez testé avec succès votre fournisseur, vous pouvez le cas échéant améliorer son fonctionnement en implémentant des interfaces supplémentaires. Un exemple est fourni dans Amélioration du fournisseur simple accessible en lecture seule.
Voir aussi
Référence
Implémentation d'un fournisseur simple accessible en lecture seule