---
description: "ODBC Function Summary"
title: "ODBC Function Summary | Microsoft Docs"
ms.custom: ""
ms.date: "01/19/2017"
ms.prod: sql
ms.prod_service: connectivity
ms.reviewer: ""
ms.technology: connectivity
ms.topic: reference
helpviewer_keywords:
- "functions [ODBC], listed by task"
ms.assetid: 7aa635da-e6b7-439f-8e9b-c3860e24de5e
author: David-Engel
ms.author: v-davidengel
---
# ODBC Function Summary
The following table lists ODBC functions, grouped by type of task, and includes the conformance designation and a brief description of the purpose of each function. For more information about conformance designations, see [ODBC and the Standard CLI](../../../odbc/reference/odbc-and-the-standard-cli.md). For more information about the syntax and semantics for each function, see [ODBC API Reference](../../../odbc/reference/syntax/odbc-api-reference.md).
An application can call the **SQLGetInfo** function to obtain conformance information about a driver. To obtain information about support for a specific function in a driver, an application can call **SQLGetFunctions**.
|Task|Function name|Conformance|Purpose|
|----------|-------------------|-----------------|-------------|
|Connecting to a data source|[SQLAllocHandle](../../../odbc/reference/syntax/sqlallochandle-function.md)|ISO 92|Obtains an environment, connection, statement, or descriptor handle.|
||[SQLConnect](../../../odbc/reference/syntax/sqlconnect-function.md)|ISO 92|Connects to a specific driver by data source name, user ID, and password.|
||[SQLDriverConnect](../../../odbc/reference/syntax/sqldriverconnect-function.md)|ODBC|Connects to a specific driver by connection string or requests that the Driver Manager and driver display connection dialog boxes for the user.|
||[SQLBrowseConnect](../../../odbc/reference/syntax/sqlbrowseconnect-function.md)|ODBC|Returns successive levels of connection attributes and valid attribute values. When a value has been specified for each connection attribute, connects to the data source.|
|Obtaining information about a driver and data source|[SQLDataSources](../../../odbc/reference/syntax/sqldatasources-function.md)
[SQLDrivers](../../../odbc/reference/syntax/sqldrivers-function.md)|ISO 92
ODBC|Returns the list of available data sources.
Returns the list of installed drivers and their attributes.|
||[SQLGetInfo](../../../odbc/reference/syntax/sqlgetinfo-function.md)|ISO 92|Returns information about a specific driver and data source.|
||[SQLGetFunctions](../../../odbc/reference/syntax/sqlgetfunctions-function.md)|ISO 92|Returns supported driver functions.|
||[SQLGetTypeInfo](../../../odbc/reference/syntax/sqlgettypeinfo-function.md)|ISO 92|Returns information about supported data types.|
|Setting and retrieving driver attributes|[SQLSetConnectAttr](../../../odbc/reference/syntax/sqlsetconnectattr-function.md)
[SQLGetConnectAttr](../../../odbc/reference/syntax/sqlgetconnectattr-function.md)|ISO 92
ISO 92|Sets a connection attribute.
Returns the value of a connection attribute.|
||[SQLSetEnvAttr](../../../odbc/reference/syntax/sqlsetenvattr-function.md)|ISO 92|Sets an environment attribute.|
||[SQLGetEnvAttr](../../../odbc/reference/syntax/sqlgetenvattr-function.md)|ISO 92|Returns the value of an environment attribute.|
||[SQLSetStmtAttr](../../../odbc/reference/syntax/sqlsetstmtattr-function.md)|ISO 92|Sets a statement attribute.|
||[SQLGetStmtAttr](../../../odbc/reference/syntax/sqlgetstmtattr-function.md)|ISO 92|Returns the value of a statement attribute.|
|Setting and retrieving descriptor fields|[SQLGetDescField](../../../odbc/reference/syntax/sqlgetdescfield-function.md)
[SQLGetDescRec](../../../odbc/reference/syntax/sqlgetdescrec-function.md)|ISO 92
ISO 92|Returns the value of a single descriptor field.
Returns the values of multiple descriptor fields.|
||[SQLSetDescField](../../../odbc/reference/syntax/sqlsetdescfield-function.md)|ISO 92|Sets a single descriptor field.|
||[SQLSetDescRec](../../../odbc/reference/syntax/sqlsetdescrec-function.md)|ISO 92|Sets multiple descriptor fields.|
||[SQLCopyDesc](../../../odbc/reference/syntax/sqlcopydesc-function.md)|ISO 92|Copies descriptor information from one descriptor handle to another.|
|Preparing SQL requests|[SQLPrepare](../../../odbc/reference/syntax/sqlprepare-function.md)|ISO 92|Prepares an SQL statement for later execution.|
||[SQLBindParameter](../../../odbc/reference/syntax/sqlbindparameter-function.md)|ODBC|Assigns storage for a parameter in an SQL statement.|
||[SQLGetCursorName](../../../odbc/reference/syntax/sqlgetcursorname-function.md)|ISO 92|Returns the cursor name associated with a statement handle.|
||[SQLSetCursorName](../../../odbc/reference/syntax/sqlsetcursorname-function.md)|ISO 92|Specifies a cursor name.|
||[SQLSetScrollOptions](../../../odbc/reference/syntax/sqlsetscrolloptions-function.md)|ODBC|Sets options that control cursor behavior.|
|Submitting requests|[SQLExecute](../../../odbc/reference/syntax/sqlexecute-function.md)
[SQLExecDirect](../../../odbc/reference/syntax/sqlexecdirect-function.md)|ISO 92
ISO 92|Executes a prepared statement.
Executes a statement.|
||[SQLNativeSql](../../../odbc/reference/syntax/sqlnativesql-function.md)|ODBC|Returns the text of an SQL statement as translated by the driver.|
||[SQLDescribeParam](../../../odbc/reference/syntax/sqldescribeparam-function.md)|ODBC|Returns the description for a specific parameter in a statement.|
||[SQLNumParams](../../../odbc/reference/syntax/sqlnumparams-function.md)|ISO 92|Returns the number of parameters in a statement.|
||[SQLParamData](../../../odbc/reference/syntax/sqlparamdata-function.md)|ISO 92|Used in conjunction with **SQLPutData** to supply parameter data at execution time. (Useful for long data values.)|
||[SQLPutData](../../../odbc/reference/syntax/sqlputdata-function.md)|ISO 92|Sends part or all of a data value for a parameter. (Useful for long data values.)|
|Retrieving results and information about results|[SQLRowCount](../../../odbc/reference/syntax/sqlrowcount-function.md)
[SQLNumResultCols](../../../odbc/reference/syntax/sqlnumresultcols-function.md)|ISO 92
ISO 92|Returns the number of rows affected by an insert, update, or delete request.
Returns the number of columns in the result set.|
||[SQLDescribeCol](../../../odbc/reference/syntax/sqldescribecol-function.md)|ISO 92|Describes a column in the result set.|
||[SQLColAttribute](../../../odbc/reference/syntax/sqlcolattribute-function.md)|ISO 92|Describes attributes of a column in the result set.|
||[SQLBindCol](../../../odbc/reference/syntax/sqlbindcol-function.md)|ISO 92|Assigns storage for a result column and specifies the data type.|
||[SQLFetch](../../../odbc/reference/syntax/sqlfetch-function.md)|ISO 92|Returns multiple result rows.|
||[SQLFetchScroll](../../../odbc/reference/syntax/sqlfetchscroll-function.md)|ISO 92|Returns scrollable result rows.|
||[SQLGetData](../../../odbc/reference/syntax/sqlgetdata-function.md)|ISO 92|Returns part or all of one column of one row of a result set. (Useful for long data values.)|
||[SQLSetPos](../../../odbc/reference/syntax/sqlsetpos-function.md)|ODBC|Positions a cursor within a fetched block of data and allows an application to refresh data in the rowset or to update or delete data in the result set.|
||[SQLBulkOperations](../../../odbc/reference/syntax/sqlbulkoperations-function.md)|ODBC|Performs bulk insertions and bulk bookmark operations, including update, delete, and fetch by bookmark.|
||[SQLMoreResults](../../../odbc/reference/syntax/sqlmoreresults-function.md)|ODBC|Determines whether there are more result sets available and, if so, initializes processing for the next result set.|
||[SQLGetDiagField](../../../odbc/reference/syntax/sqlgetdiagfield-function.md)|ISO 92|Returns additional diagnostic information (a single field of the diagnostic data structure).|
||[SQLGetDiagRec](../../../odbc/reference/syntax/sqlgetdiagrec-function.md)|ISO 92|Returns additional diagnostic information (multiple fields of the diagnostic data structure).|
|Obtaining information about the data source's system tables (catalog functions)|[SQLColumnPrivileges](../../../odbc/reference/syntax/sqlcolumnprivileges-function.md)
[SQLColumns](../../../odbc/reference/syntax/sqlcolumns-function.md)|ODBC
Open Group|Returns a list of columns and associated privileges for one or more tables.
Returns the list of column names in specified tables.|
||[SQLForeignKeys](../../../odbc/reference/syntax/sqlforeignkeys-function.md)|ODBC|Returns a list of column names that make up foreign keys, if they exist for a specified table.|
||[SQLPrimaryKeys](../../../odbc/reference/syntax/sqlprimarykeys-function.md)|ODBC|Returns the list of column names that make up the primary key for a table.|
||[SQLProcedureColumns](../../../odbc/reference/syntax/sqlprocedurecolumns-function.md)|ODBC|Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures.|
||[SQLProcedures](../../../odbc/reference/syntax/sqlprocedures-function.md)|ODBC|Returns the list of procedure names stored in a specific data source.|
||[SQLSpecialColumns](../../../odbc/reference/syntax/sqlspecialcolumns-function.md)|Open Group|Returns information about the optimal set of columns that uniquely identifies a row in a specified table, or the columns that are automatically updated when any value in the row is updated by a transaction.|
||[SQLStatistics](../../../odbc/reference/syntax/sqlstatistics-function.md)|ISO 92|Returns statistics about a single table and the list of indexes associated with the table.|
||[SQLTablePrivileges](../../../odbc/reference/syntax/sqltableprivileges-function.md)|ODBC|Returns a list of tables and the privileges associated with each table.|
||[SQLTables](../../../odbc/reference/syntax/sqltables-function.md)|Open Group|Returns the list of table names stored in a specific data source.|
|Terminating a statement|[SQLFreeStmt](../../../odbc/reference/syntax/sqlfreestmt-function.md)|ISO 92|Ends statement processing, discards pending results, and, optionally, frees all resources associated with the statement handle.|
||[SQLCloseCursor](../../../odbc/reference/syntax/sqlclosecursor-function.md)|ISO 92|Closes a cursor that has been opened on a statement handle.|
||[SQLCancel](../../../odbc/reference/syntax/sqlcancel-function.md)|ISO 92|Cancels the processing on a statement.|
||[SQLCancelHandle](../../../odbc/reference/syntax/sqlcancelhandle-function.md)|ODBC|Cancels the processing on a statement or connection.|
||[SQLEndTran](../../../odbc/reference/syntax/sqlendtran-function.md)|ISO 92|Commits or rolls back a transaction.|
|Terminating a connection|[SQLDisconnect](../../../odbc/reference/syntax/sqldisconnect-function.md)
[SQLFreeHandle](../../../odbc/reference/syntax/sqlfreehandle-function.md)|ISO 92
ISO 92|Closes the connection.
Releases an environment, connection, statement, or descriptor handle.|