共用方式為


將字串儲存於 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);
   }
};

資料成員 szCommandszText 代表兩個字串,其中 szCommand2szText2 包含額外的資料行 (如有需要)。 這個簡單的唯讀提供者不需要資料成員 dwBookmark,但稍後可用來新增 IRowsetLocate 介面;請參閱增強簡單的唯讀提供者== 運算子會比較執行個體 (實作此運算子是選擇性的)。

當這麼做時,您可以新增將字串讀入 OLE DB 提供者內的功能。

另請參閱

實作簡單唯讀提供者