Variables de aplicación

Los lenguajes de programación de aplicaciones como C, C++, Basic y Java usan variables para contener datos. Las variables son áreas de almacenamiento que pueden contener los valores de los datos. Cada variable de aplicación tiene un tipo de datos y un tamaño. Las variables numéricas también tienen una precisión (el número de dígitos que puede contener la variable) y una escala (el número de dígitos que se encuentran a la derecha del separador decimal).

Con el fin de que una aplicación funcione con los datos devueltos de las instrucciones Transact-SQL, debe tener un mecanismo para mover los datos de Transact-SQL a variables de aplicación. Las API de bases datos pueden enlazar una columna del conjunto de resultados, un código de retorno o un marcador de parámetros de una instrucción Transact-SQL a una variable de aplicación.

Para recuperar los datos de un conjunto de resultados, una aplicación usa un proceso similar al siguiente:

  1. Ejecuta una instrucción Transact-SQL.

  2. Llama a una función de la API de bases de datos para averiguar cuántas columnas hay en el conjunto de resultados.

  3. Por cada columna del conjunto de resultados, la aplicación:

    • Llama a una función de la API de bases de datos que devuelve los atributos, el tipo de datos, el tamaño, etc. de la columna.

    • Asigna una variable de aplicación con atributos compatibles con los atributos de la columna.

    • Llama a una función de la API de bases de datos para vincular, o asignar, la columna del conjunto de resultados con la variable de aplicación.

  4. A continuación, la aplicación usa las funciones de la API de bases de datos para recuperar las filas del conjunto de resultados de una en una. En cada recuperación, los valores de cada columna del conjunto de resultados se colocan en la variable de aplicación enlazada a la columna.

Las aplicaciones pueden variar este proceso. Por ejemplo, si la aplicación está ejecutando una instrucción Transact-SQL no modificable en una tabla conocida, los atributos de las columnas del conjunto de resultados se conocen por adelantado, y la aplicación no tiene que llamar a la API de bases de datos para obtener estos atributos.

Si la aplicación enlaza una columna del conjunto de resultados a una variable de aplicación cuyo tipo de datos difiere de los del objeto asociado de base de datos, el proveedor OLE DB o el controlador ODBC debe convertir los datos. Por ejemplo, si una aplicación enlaza una columna money a una matriz de caracteres, el proveedor OLE DB o el controlador ODBC tienen que convertir los datos money a una cadena de caracteres. En la documentación del Proveedor Microsoft OLE DB para SQL Server y del controlador ODBC de SQL Server se definen las conversiones de tipos de datos que admiten.

Para obtener más información acerca de cómo recuperar parámetros y códigos de retorno de las aplicaciones, vea Marcadores de parámetros (motor de base de datos).