Freigeben über


Löschen von Zeilen im Rowset mit SQLSetPos

Der Löschvorgang von SQLSetPos führt dazu, dass die Datenquelle eine oder mehrere ausgewählte Zeilen einer Tabelle löscht. Um Zeilen mit SQLSetPos zu löschen, ruft die Anwendung SQLSetPos mit Operation auf SQL_DELETE und RowNumber auf die Nummer der zu löschenden Zeile festgelegt. Wenn RowNumber 0 ist, werden alle Zeilen im Rowset gelöscht.

Nachdem SQLSetPos zurückgegeben wurde, ist die gelöschte Zeile die aktuelle Zeile, und der Status ist SQL_ROW_DELETED. Die Zeile kann nicht in weiteren positionierten Vorgängen verwendet werden, z. B. Aufrufe von SQLGetData oder SQLSetPos.

Beim Löschen aller Zeilen des Rowsets (RowNumber ist gleich 0) kann die Anwendung verhindern, dass der Treiber bestimmte Zeilen mithilfe des Zeilenvorgangsarrays löscht, genauso wie für den Aktualisierungsvorgang von SQLSetPos. (Siehe Aktualisieren von Zeilen im Rowset mit SQLSetPos.)

Jede Zeile, die gelöscht wird, sollte eine Zeile sein, die im Resultset vorhanden ist. Wenn die Anwendungspuffer durch Abrufen und Wenn ein Zeilenstatusarray Standard tained wurde, sollten die Werte an jeder dieser Zeilenpositionen nicht SQL_ROW_DELETED, SQL_ROW_ERROR oder SQL_ROW_NOROW sein.