將數據列加入至大量複製數據列集。 如需範例,請參閱 使用 IRowsetFastLoad 大量複製資料 (OLE DB) 和使用 IROWSETFASTLOAD 和 ISEQUENTIALSTREAM (OLE DB) 將 BLOB 數據傳送至 SQL SERVER。
語法
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 記憶體不足
SQLNCLI11無法配置足夠的記憶體來完成要求。
E_UNEXPECTED
在 先前由 IRowsetFastLoad::Commit 方法失效的大量複製數據列集上呼叫方法。
DB_E_BADACCESSORHANDLE
取用者所提供的 hAccessor 自變數無效。
DB_E_BADACCESSORTYPE
指定的存取子不是數據列存取子,或未指定取用者擁有的記憶體。
備註
將數據行的取用者數據轉換成 SQL Server 數據類型時發生錯誤,會導致從 SQL Server Native Client OLE DB 提供者傳回E_FAIL。 數據可以在任何 InsertRow 方法上傳輸至 SQL Server,或只能在 Commit 方法上傳輸。 取用者應用程式可以在收到數據類型轉換錯誤時,多次使用錯誤數據呼叫 InsertRow 方法。 由於 Commit 方法可確保取用者已正確指定所有數據,因此取用者可以適當地使用 Commit 方法來視需要驗證數據。
SQL Server Native Client OLE DB 提供者大量複製數據列集是唯寫的。 SQL Server Native Client OLE DB 提供者不會公開允許取用者查詢數據列集的方法。 若要終止處理,取用者可以在 IRowsetFastLoad 介面上釋放其參考,而不呼叫 Commit 方法。 在數據列集中存取取用者插入的數據列並變更其值,或從數據列集中個別移除它沒有任何功能。
大量複製的數據列會格式化在 SQL Server 的伺服器上。 數據列格式會受到已針對連線或會話設定的任何選項所影響,例如ANSI_PADDING。 此選項預設會針對透過 SQL Server Native Client OLE DB 提供者進行的任何連線設定為開啟。