# Function Reference

# _SQLite_FetchNames

Read out the Column names of a _SQLite_Query() based query

#include <SQLite.au3>
_SQLite_FetchNames ( $hQuery, ByRef $aNames )

## Parameters

$hQuery | Query handle generated by SQLite_Query()
$aNames | 1 dimensional array containing the Column names

## Return Value

Success: | $SQLITE_OK.
Failure: | a value that can be compared against $SQLITE_* constants.
@error: | -1 - SQLite reported an error (Check return value) 1 - Error calling SQLite API 'sqlite3_data_count' 2 - Error calling SQLite API 'sqlite3_column_name16' 3 - Call prevented by SafeMode

## Related

_SQLite_Query

## Example

    #include <SQLite.au3>
    #include <SQLite.dll.au3>

    Local $hQuery, $aRow, $aNames
    _SQLite_Startup()
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!")
        Exit -1
    EndIf
    ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
    _SQLite_Open() ; open :memory: Database
    _SQLite_Exec(-1, "CREATE TABLE aTest (A,B,C);")
    _SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','World');")
    _SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' ');")
    _SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Hello');")
    _SQLite_Query(-1, "SELECT ROWID,* FROM aTest ORDER BY a;", $hQuery)
    _SQLite_FetchNames($hQuery, $aNames) ; Read out Column Names
    ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
    While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK
        ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
    WEnd
    _SQLite_Exec(-1, "DROP TABLE aTest;")
    _SQLite_Close()
    _SQLite_Shutdown()

    ; Output:
    ; rowid       A           B           C
    ; 3           a           1           Hello
    ; 2           b           3
    ; 1           c           2           World