SQLNumResultCols
Bei ausgeführten Anweisungen besucht der SQL Server Native Client ODBC-Treiber den Server nicht, um die Anzahl der Spalten in einem Resultset zu melden. In diesem Fall SQLNumResultCols
verursacht kein Server roundtrip. Wie SQLDescribeCol und SQLColAttribute generiert das Aufrufen SQLNumResultCols
von vorbereiteten, aber nicht ausgeführten Anweisungen einen Server-Roundtrip.
Wenn eine Transact-SQL-Anweisung oder ein Anweisungsbatch mehrere Ergebniszeilensätze zurückgibt, kann sich die Anzahl der Resultsetspalten von einem Satz zu einem anderen ändern. 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 in der Datenbank-Engine ab SQL Server 2012 ermöglichen ES SQLNumResultCols, genauere Beschreibungen der erwarteten Ergebnisse zu erhalten. Diese genaueren Ergebnisse können sich von den Werten unterscheiden, die von SQLNumResultCols in früheren Versionen von SQL Server zurückgegeben wurden. Weitere Informationen finden Sie unter Metadatenermittlung.