Compartir a través de


Atributos de instrucción

Los atributos de la declaración son características de la declaración. Por ejemplo, si se debe usar marcadores y qué tipo de cursor que se debe usar con el conjunto de resultados de la instrucción son atributos de la instrucción.

Los atributos de instrucción se establecen con SQLSetStmtAttr y su configuración actual se recupera con SQLGetStmtAttr. No es necesario que una aplicación establezca ningún atributo de instrucción; todos los atributos de instrucción tienen valores predeterminados, algunos de los cuales son específicos del controlador.

Cuando se puede establecer un atributo de instrucción depende del propio atributo. Los atributos de instrucción SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR y SQL_ATTR_USE_BOOKMARKS deben establecerse antes de ejecutar la instrucción. Los atributos de instrucción SQL_ATTR_ASYNC_ENABLE y SQL_ATTR_NOSCAN se pueden establecer en cualquier momento, pero no se aplican hasta que se vuelva a usar la instrucción. SQL_ATTR_MAX_LENGTH, SQL_ATTR_MAX_ROWS y SQL_ATTR_QUERY_TIMEOUT atributos de instrucción se pueden establecer en cualquier momento, pero es específico del controlador si se aplican antes de que se vuelva a usar la instrucción. Los atributos de instrucción restantes se pueden establecer en cualquier momento.

Nota:

La capacidad de establecer atributos de instrucción en el nivel de conexión mediante una llamada a SQLSetConnectAttr ha quedado en desuso en ODBC 3. x. ODBC 3. Las aplicaciones x nunca deben establecer atributos de instrucción en el nivel de conexión. ODBC 3. Los controladores x solo necesitan admitir esta funcionalidad si deben funcionar con ODBC 2. x aplicaciones. Para obtener más información, consulte Asignación de SQLSetConnectOption en el Apéndice G: Directrices del controlador para la compatibilidad retroactiva.

Una excepción a esto es el SQL_ATTR_METADATA_ID y los atributos SQL_ATTR_ASYNC_ENABLE, que son atributos de conexión y atributos de instrucción y se pueden establecer en el nivel de conexión o en el nivel de instrucción.

Ninguno de los atributos de instrucción introducidos en ODBC 3. x (excepto para SQL_ATTR_METADATA_ID) se puede establecer en el nivel de conexión.

Para obtener más información, consulte la descripción de la función SQLSetStmtAttr .