|   | ![[ Previous ]](navbprev.gif)  ![[ Contents ]](navbhome.gif)  ![[ Index ]](navbhelp.gif)  ![[ Next ]](navbnext.gif)  | 
Return a list of column names of rows.
void Ns_PdDbBindRow(Ns_DbHandle *handle);
The Ns_PdDbBindRow function should return a list of column names of rows to be returned by the SQL command previously executed by Ns_PdDbExec().
The Ns_PdDbSetRowInfoItem inserts the data info the rowData array. You associate data to AOLserver via Ns_PdDbSendRowInfo. The Ns_PdDbSendRowInfo uses Ns_PdDbSendString to send the number of columns and Ns_PdDbSendData to send the row data (e.g., Ns_PdSendData(rowInfo->rowData[i].elData, size);).
    /* Things italicized would be your DBMS-specific structures and 
calls. */
    typedef struct Ns_PdRowData {
    int elSize;
    char *elData;
    } Ns_PdRowData;
    typedef struct Ns_PdRowInfo {
    int numColumns;
    Ns_PdRowData *rowData;
    } Ns_PdRowInfo;
    void
    Ns_PdDbBindRow(void *handle)
    {
         DBMSState *state = (DBMSState *)handle;
         Ns_PdRowInfo *rowInfo;
         if ((rowInfo = DBMSBindRow(state)) == NULL) {
             Ns_PdSendException(state->exceptionCode, 
    state->exceptionMsg);
         } else {
             Ns_PdSendString(OK_STATUS);
             Ns_PdSendRowInfo(rowInfo);
             Ns_PdFreeRowInfo(rowInfo, 1);
         }
    }