world.DatabaseColumnNames
Return a table of all the columns returned by an SQL statement
Prototype
VARIANT DatabaseColumnNames(BSTR DbName);
Description
You can use this, after successfully doing a DatabasePrepare, to find the names of columns that each row will return.
You can do this before doing a DatabaseStep, because the column names (and number of columns) is a property of the SQL statement, whether or not any rows are found that actually match the query.
The column name is the name given in the "AS" clause in the query, if any. Otherwise SQLite assigns a column name, which is not guaranteed to be consistent between versions. Often the column name will simply be the name of the variable being queried, however calculations may return generated names.
For example, using this SQL statement:
DatabasePrepare ("db", "SELECT name AS 'weapon name', damage * 5 from weapons")
The returned column names were 'weapon name' and 'damage * 5'.
Columns start at 1 for the first column, up to the number returned by DatabaseColumns.
Also see DatabaseColumnName which returns an entry for a single column.
Lua example
DatabasePrepare ("db", "SELECT * from weapons")
t = DatabaseColumnNames ("db") --> the names of all columns
Lua notes
Lua returns nil if there are no columns.
Return value
A table of all the column names, indexed by column number (ie. 1 is the first column).
Related topic
See also
| Function | Description |
|---|---|
| DatabaseColumnName | Find the name of a specified column returned by an SQL statement |
| DatabaseColumnText | Returns the contents of an SQL column, as text |
| DatabaseColumnType | Returns the type of data in an SQL column |
| DatabaseColumnValue | Returns the contents of an SQL column, as text, float, integer, or null |
| DatabaseColumnValues | Returns the contents of all the SQL columns after a step |
| DatabaseColumns | Find how many columns will be returned by an SQL statement |
| DatabaseError | Returns an English string describing the most recent SQL error |
| DatabaseExec | Executes SQL code against an SQLite database |
| DatabaseFinalize | Finalizes (wraps up) a previously-prepared SQL statement |
| DatabaseLastInsertRowid | Returns the most recently automatically allocated database key |
| DatabaseOpen | Opens an SQLite database |
| DatabasePrepare | Prepares an SQL statement for execution |
| DatabaseReset | Resets a previously-prepared SQL statement to the start |