使用 SQLSetPos 删除行集中的行

SQLSetPos 的删除操作可让数据源删除表的一个或多个选定行。 若要使用 SQLSetPos 删除行,应用程序可调用 SQLSetPos,且将 Operation 设置为 SQL_DELETE,RowNumber 设置为要删除的行数。 如果 RowNumber 为 0,将删除行集的所有行。

SQLSetPos 返回后,删除的行是当前行,其状态为 SQL_ROW_DELETED。 该行不能用于任何进一步定位操作,例如对 SQLGetDataSQLSetPos 的调用。

删除行集的所有行(RowNumber 等于 0)时,应用程序可以使用行操作数组来阻止驱动程序删除某些行,就像 SQLSetPos 的更新操作一样。 (请参阅“使用 SQLSetPos 更新行集中的行”。)

每个删除的行都应该是结果集中存在的行。 如果应用程序缓冲区已被提取操作填充,并且保持了行状态数组,则所有这些行位置处的行值都不应为 SQL_ROW_DELETED、SQL_ROW_ERROR 或 SQL_ROW_NOROW。