Speichern von Zeichenfolgen im OLE DB-Anbieter
Hinweis
Der ATL-OLE DB-Anbieter-Assistent ist in Visual Studio 2019 und höher nicht verfügbar.
In „CustomRS.h“ erstellt der ATL-OLE DB-Anbieter-Assistent einen Standardbenutzereintrag namens CWindowsFile
. Um die beiden Zeichenfolgen zu behandeln, ändern Sie CWindowsFile
wie im folgenden Code gezeigt:
////////////////////////////////////////////////////////////////////////
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);
}
};
Die Datenelemente szCommand
und szText
stellen die zwei Zeichenfolgen dar, wobei szCommand2
und szText2
bei Bedarf zusätzliche Spalten haben. Das Datenelement dwBookmark
ist für diesen einfachen schreibgeschützten Anbieter nicht erforderlich, wird aber später verwendet, um eine IRowsetLocate
-Schnittstelle hinzuzufügen; siehe Erweitern des einfachen schreibgeschützten Anbieters. Der ==
-Operator vergleicht Instanzen (Implementierung dieses Operators ist optional).
Wenn dies abgeschlossen ist, können Sie die Funktionalität des Einlesens von Zeichenfolgen in den OLE DB-Anbieter hinzufügen.