Freigeben über


SQLNumResultCols

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Bei ausgeführten Anweisungen wird der ODBC-Treiber des SQL Server Native Client nicht aufgerufen, um die Anzahl der Spalten in einem Resultset zu melden. In diesem Fall verursacht SQLNumResultCols kein Server-Roundtrip. Wie SQLDescribeCol und SQLColAttribute generiert das Aufrufen von SQLNumResultCols für vorbereitete, aber nicht ausgeführte Anweisungen ein Server-Roundtrip.

Wenn eine Transact-SQL-Anweisung oder ein Anweisungsbatch mehrere Ergebniszeilensätze zurückgibt, ist es möglich, dass die Anzahl der Resultsetspalten von einem Satz in einen anderen geändert werden kann. SQLNumResultCols sollte für jeden Satz aufgerufen werden. Wenn sich die Anzahl der Spalten ändert, sollte die Anwendung Datenwerte vor dem Abrufen von Zeilenergebnissen erneut binden. Weitere Informationen zum Behandeln mehrerer Resultset-Rückgaben finden Sie unter SQLMoreResults.

Verbesserungen im Datenbankmodul ab SQL Server 2012 (11.x) ermöglichen SQLNumResultCols, genauere Beschreibungen der erwarteten Ergebnisse zu erhalten. Diese genaueren Ergebnisse können sich von den von SQLNumResultCols in früheren Versionen von SQL Server zurückgegebenen Werten unterscheiden. Weitere Informationen finden Sie unter Metadatenermittlung.

Weitere Informationen

SQLNumResultCols-Funktion
ODBC-API-Implementierungsdetails