sqlite.h


Fuente de datos de un resultado de consulta

const char *sqlite3_column_database_name(sqlite3_stmt*,int);
const void *sqlite3_column_database_name16(sqlite3_stmt*,int);
const char *sqlite3_column_table_name(sqlite3_stmt*,int);
const void *sqlite3_column_table_name16(sqlite3_stmt*,int);
const char *sqlite3_column_origin_name(sqlite3_stmt*,int);
const void *sqlite3_column_origin_name16(sqlite3_stmt*,int);

Estas funciones proporcionan un modo para determinar la bases de datos, tabla y columna que es el origen de una columna de resultados en particular en una sentencia SELECT. El nombre de la base de datos, tabla o columna puede ser determinado por una cadena tanto en formato UTF-8 como UTF-16. Las funciones _database_ devuelven el nombre de la base de datos, las funciones _table_ el nombre de la tabla y las funciones _origin_ el de la columna. La cadena devuelta es válida hasta que la sentencia preparada sea destruida usando sqlite3_finalize() o hasta que la sentencia sea automáticamente reelaborada por la primera llamada a sqlite3_step() para una ejecución en particular o hasta que la misma información sea requerida de nuevo en una codificación diferente.

Los nombre devueltos son los originales de la base de datos, tabla y columba, si usar alias.

El primer argumento a estas funciones es una sentencia preparada. Estas funciones devuelven información sobre la columna N del resultado retornado por la sentencia, donde N es el segundo argumento de la función. Para estas funciones, la columna más a la izquierda es la 0.

Si la columna N devuelta por la sentencia es una expresión o subconsulta y no un valor de columna, entonces todas estas funciones regresan con NULL. Estas funciones también pueden devolver NULL si se produce un error de solicitud de memoria. En caso contrario, devuelven el nombre de la base de datos, tabla o columna de la que la columna del resultado de la consulta ha sido extraída.

Al igual que todas las demás funciones del API de SQLite, aquellas cuyos nombres terminan con "16" devuelven cadenas codificadas en UTF-16 y las otras cadenas en UTF-8.

Estas funciones sólo están disponibles si la librería fue compilada con el símbolo del preprocesador C SQLITE_ENABLE_COLUMN_METADATA.

Si dos o más hilos llaman a una o más de estas funciones con las mismas sentencia preparada y columna al mismo tiempo, entonces el resultado es indefinido.

Si dos o más hilos llaman a una o más interfaces de metadatos de las columnas para las mismas sentencia preparada y columna al mismo tiempo, el resultado es indefinido.