world.DatabaseColumnName

MUSHclient script function (Method) — introduced in version 4.40

Find the name of a specified column returned by an SQL statement

Prototype

BSTR DatabaseColumnName(BSTR DbName, long Column);

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 DatabaseColumnNames which returns a table of all the column names.

Lua example

name = DatabaseColumnName ("db", 5)  --> the name of column 5

Return value

The name of the column.

If a parameter is invalid (eg. database not open, bad column number) an empty string is returned.

Related topic

Database (SQLite)

See also

FunctionDescription
DatabaseColumnNamesReturn a table of all the columns 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