共用方式為


IRowsetFastLoad::InsertRow (OLE DB)

將資料列加入至大量複製資料列集。

語法

HRESULT InsertRow(
      HACCESSOR hAccessor,
      void* pData);

引數

  • hAccessor[in]
    針對大量複製而定義資料列資料的存取子控制代碼。所參考的存取子是資料列存取子,會繫結取用者所擁有的記憶體 (內含資料值)。

  • pData[in]
    取用者所擁有記憶體 (內含資料值) 的指標。如需詳細資訊,請參閱 DBBINDING 結構

傳回碼值

  • S_OK
    方法已成功。所有資料行的任何繫結狀態值都具有 DBSTATUS_S_OK 或 DBSTATUS_S_NULL 値。

  • E_FAIL
    發生錯誤。可以從資料列集的錯誤介面取得錯誤資訊。

  • E_INVALIDARG
    pData 引數會設定為 NULL 指標。

  • E_OUTOFMEMORY
    SQLNCLI10 無法配置足夠的記憶體來完成要求。

  • E_UNEXPECTED
    這個方法是在先前已藉由 IRowsetFastLoad::Commit 方法設為無效之大量複製資料列集上呼叫。

  • DB_E_BADACCESSORHANDLE
    取用者所提供的 hAccessor 引數無效。

  • DB_E_BADACCESSORTYPE
    指定的存取子不是資料列存取子,或未指定取用者所擁有的記憶體。

備註

將取用者資料轉換成資料行的 SQL Server 資料類型時發生的錯誤會導致 SQL Server Native Client OLE DB 提供者傳回 E_FAIL。您可在任何 InsertRow 方法或僅在 Commit 方法上將資料傳輸至 SQL Server。取用者應用程式可能會在使用錯誤的資料呼叫 InsertRow 方法很多次後,才收到發生了資料類型轉換錯誤的通知。因為 Commit 方法會確保所有資料都由取用者正確指定,所以取用者可依需要適當地使用 Commit 方法來驗證資料。

SQL Server Native Client OLE DB 提供者大量複製資料列集是唯寫的。SQL Server Native Client OLE DB 提供者不會公開任何允許取用者查詢資料列集的方法。若要終止處理,取用者可以不必呼叫 Commit 方法,即釋放它在 IRowsetFastLoad 介面上的參考。沒有功能可用來存取資料列集中取用者插入的資料列並變更其値,或將該資料列從資料列集個別地移除。

大量複製的資料列會在伺服器上針對 SQL Server 設定格式。資料列格式會受到已針對連接或工作階段所設定之任何選項 (例如 ANSI_PADDING) 的影響。依預設,這個選項會針對透過 SQL Server Native Client OLE DB 提供者所建立的任何連接而設定為開啟。

請參閱

其他資源