使用 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。