將字串儲存於 OLE DB 提供者內
注意
Visual Studio 2019 及更新版本中未提供 ATL OLE DB 提供者精靈。
在 CustomRS.h 中,[ATL OLE DB 提供者精靈] 會建立一個預設的使用者記錄,稱為 CWindowsFile
。 若要處理兩個字串,請修改 CWindowsFile
,如下列程式碼所示:
////////////////////////////////////////////////////////////////////////
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);
}
};
資料成員 szCommand
和 szText
代表兩個字串,其中 szCommand2
和 szText2
包含額外的資料行 (如有需要)。 這個簡單的唯讀提供者不需要資料成員 dwBookmark
,但稍後可用來新增 IRowsetLocate
介面;請參閱增強簡單的唯讀提供者。 ==
運算子會比較執行個體 (實作此運算子是選擇性的)。
當這麼做時,您可以新增將字串讀入 OLE DB 提供者內的功能。