world.DatabaseColumnNames

MUSHclient script function (Method) — introduced in version 4.40

Return a table of all the columns returned by an SQL statement

Prototype

VARIANT DatabaseColumnNames(BSTR DbName);

Data type meanings

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

Database (SQLite)

See also

FunctionDescription
DatabaseColumnNameFind the name of a specified column returned by an SQL statement
DatabaseColumnTextReturns the contents of an SQL column, as text
DatabaseColumnTypeReturns the type of data in an SQL column
DatabaseColumnValueReturns the contents of an SQL column, as text, float, integer, or null
DatabaseColumnValuesReturns the contents of all the SQL columns after a step
DatabaseColumnsFind how many columns will be returned by an SQL statement
DatabaseErrorReturns an English string describing the most recent SQL error
DatabaseExecExecutes SQL code against an SQLite database
DatabaseFinalizeFinalizes (wraps up) a previously-prepared SQL statement
DatabaseLastInsertRowidReturns the most recently automatically allocated database key
DatabaseOpenOpens an SQLite database
DatabasePreparePrepares an SQL statement for execution
DatabaseResetResets a previously-prepared SQL statement to the start