dbGetNumCols

Top  Previous  Next

Syntax

INT = dbGetNumCols(hstmt as INT)

Description

Returns the number of columns in a result set.

Parameters

hstmt - Statement handle returned by dbExecSQL or dbPrepareSQL

Return value

Number of columns

Remarks

Useful for dynamically binding columns to variables when the number of columns returned is unknown until runtime.

Example usage

hstmt = dbExecSQL(pdb,"SELECT AddressID,FirstName,LastName,Address FROM Addresses")
IF hStmt
    pColumns = dbListColumns(pdb,"",hstmt)
    IF pColumns <> NULL
        FOR temp2 = EACH pColumns as STRING
            PRINT #temp2,", ",
        NEXT
        PRINT
        ListRemoveAll(pColumns,TRUE)
        numcols = dbGetNumCols(hstmt)
        pBindings = NEW(STRING,numcols)
        FOR x = 1 to numcols
            dbBindVariable(hstmt,x,#<STRING>pBindings[x-1,0])
        NEXT x
        WHILE dbGet(hstmt)
            FOR x=1 to numcols
                PRINT #<STRING>pBindings[x-1,0],", ",
            NEXT x
            PRINT
        ENDWHILE
        dbFreeSQL(hstmt)
        DELETE pBindings
    ELSE
        PRINT "No data"
    ENDIF
ENDIF