Developing Database Drivers for AOLserver -- Ns_PdSendRowInfo

### Ns_PdSendRowInfo

#### Overview

Send a row to the client.

#### Syntax

        void Ns_PdSendRowInfo(Ns_PdRowInfo * rowInfo);

#### Description

This function sends a row encapsulated in an Ns_PdRowInfo structure to the client.

#### Psuedo-code Example

        /* Things italicized would be your DBMS-specific structures and
    calls. */
        /* defined in nspd.h */
        typedef struct Ns_PdRowData {
        int elSize;
        char *elData;
        } Ns_PdRowData;
        typedef struct Ns_PdRowInfo {
            int             numColumns;
            Ns_PdRowData   *rowData;
        };
        void
        DBMSFunction (void) { /* similiar to Ns_PdDbGetTableInfo */

            Ns_PdRowInfo   *getRowInfo, *bindRowInfo;
            /* Exec SQL and "select" data from a table */
            /*   ...    */
            if ((bindRowInfo = DBMSBindRow(state)) != NULL) {

               getRowInfo =
    Ns_PdNewRowInfo(Ns_PdGetRowInfoNumColumns(bindRowInfo));
               if (getRowInfo != NULL) {
                    status = NS_OK;
                    Ns_PdSendString(OK_STATUS);
                    Ns_PdSendRowInfo(bindRowInfo);  /* sends list of
    column names */
                    while ((getRowRet = DBMSGetRow(handle,
                            getRowInfo)) == NS_OK) {
                            /* send row info */
                            Ns_PdSendRowInfo(getRowInfo);
                    }
                    Ns_PdSendData(END_DATA, strlen(END_DATA)); /* NULL
    row terminates rows */
                    if (getRowRet == DB_END_DATA) {
                        status = NS_OK;
                    } else {
                      Ns_PdLog(Error, "GetTableInfo: incomplete data sent
    to client.");
                    }
                    /* free the getRowInfo structure when done */
                    Ns_PdFreeRowInfo(getRowInfo, 0);

               }
               /* free the bindRowInfo data and structure when done */
               Ns_PdFreeRowInfo(bindRowInfo, 1);
            }
        }

Top of Page
Copyright © 1998-99 America Online, Inc.