Bildläufe und Abrufen von Zeilen
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)
Um einen bildlauffähigen Cursor zu verwenden, muss eine ODBC-Anwendung folgende Bedingungen erfüllen:
Legen Sie die Cursorfunktionen mithilfe von SQLSetStmtAttr fest.
Öffnen Sie den Cursor mit SQLExecute oder SQLExecDirect.
Scrollen und Abrufen von Zeilen mithilfe von SQLFetch oder SQLFetchScroll.
Sowohl SQLFetch als auch SQLFetchSroll können Zeilenblöcke gleichzeitig abrufen. Die Anzahl der zurückgegebenen Zeilen wird mithilfe von SQLSetStmtAttr angegeben, um den SQL_ATTR_ROW_ARRAY_SIZE Parameter festzulegen.
ODBC-Anwendungen können SQLFetch verwenden, um einen Vorwärtscursor abzurufen.
SQLFetchScroll wird verwendet, um einen Cursor zu scrollen. SQLFetchScroll unterstützt das Abrufen der nächsten, vorherigen, ersten und letzten Rowsets zusätzlich zum relativen Abrufen (Abrufen des Rowset n-Zeilen vom Anfang des aktuellen Rowsets) und des absoluten Abrufens (Abrufen des Rowsets ab Zeile n). Wenn n in einem absoluten Abruf negativ ist, werden Zeilen vom Ende des Resultsets gezählt. Ein absoluter Abruf von Zeile -1 bedeutet den Abruf des Rowsets, das mit der letzten Zeile im Resultset beginnt.
Anwendungen, die SQLFetchScroll nur für ihre Blockcursorfunktionen verwenden, z. B. Berichte, werden wahrscheinlich ein einziges Mal über das Resultset geleitet, wobei nur die Option zum Abrufen des nächsten Rowsets verwendet wird. Bildschirmbasierte Anwendungen können dagegen alle Funktionen von SQLFetchScroll nutzen. Wenn die Anwendung die Rowsetgröße auf die Anzahl der Zeilen festlegt, die auf dem Bildschirm angezeigt werden, und die Bildschirmpuffer an das Resultset gebunden werden, kann sie Bildlaufleistenvorgänge direkt in Aufrufe von SQLFetchScroll übersetzen.
Bildlaufleistenvorgang | SQLFetchScroll-Bildlaufoption |
---|---|
Bild auf | SQL_FETCH_PRIOR |
Bild ab | SQL_FETCH_NEXT |
Zeile auf | SQL_FETCH_RELATIVE mit FetchOffset gleich -1 |
Zeile ab | SQL_FETCH_RELATIVE mit FetchOffset gleich 1 |
Bildlauffeld nach oben | SQL_FETCH_FIRST |
Bildlauffeld nach unten | SQL_FETCH_LAST |
Zufällige Bildlauffeldposition | SQL_FETCH_ABSOLUTE |