共用方式為


使用資料指標變更資料

ADO、OLE DB 及 ODBC API 支援更新結果集中應用程式所在的目前資料列。下列步驟描述基本程序:

  1. 將結果集的資料行繫結 (Bind) 到程式變數。

  2. 執行查詢。

  3. 呼叫 API 函數或方法,將應用程式定位於結果集內部的某個資料列。

  4. 使用所要更新之資料行的新資料值,來填入繫結的程式變數。

  5. 呼叫下列其中一種函數或方法來插入資料列:

    • 在 ADO 中,呼叫 Recordset 物件的 Update 方法。

    • 在 OLE DB 中,呼叫 IrowsetChange 介面的 SetData 方法。

    • 在 ODBC 中,呼叫帶有 SQL_UPDATE 選項的 SQLSetPos 函數。

使用 Transact-SQL 伺服器資料指標時,您可以使用包括 WHERE CURRENT OF 子句的 UPDATE 陳述式,來更新目前資料列。使用這個子句所進行的變更,只會影響到資料指標所在位置的資料列。當資料指標是以聯結為基礎時,只會修改在 UPDATE 陳述式中指定的 table_name。牽涉到資料指標的其他資料表都不會受到影響。

USE AdventureWorks2008R2;
GO
DECLARE complex_cursor CURSOR FOR
    SELECT a.BusinessEntityID
    FROM HumanResources.EmployeePayHistory AS a
    WHERE RateChangeDate <> 
         (SELECT MAX(RateChangeDate)
          FROM HumanResources.EmployeePayHistory AS b
          WHERE a.BusinessEntityID = b.BusinessEntityID) ;
OPEN complex_cursor;
FETCH FROM complex_cursor;
UPDATE HumanResources.EmployeePayHistory
SET PayFrequency = 2 
WHERE CURRENT OF complex_cursor;
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
GO

如需聯結的詳細資訊,請參閱<聯結基礎觀念>。