How database API functions work

Last updated on Apr 27, 2021

The following example shows how the server behavior function, getDynamicBindings(), is defined for Recordset.js. This example uses the MMDB.getColumnAndTypeList() function:

 function getDynamicBindings(ss) 

    var serverModel = dw.getDocumentDOM().serverModel.getServerName(); 

    var bindingsAndTypeArray = new Array(); 

    var connName    =    ss.connectionName; 

    var statement = ss.source; 

    var rsName    = ss.rsName; 

 

    // remove SQL comments 

    statement = statement.replace(/\/\*[\S\s]*?\*\//g, " "); 

    var bIsSimple = ParseSimpleSQL(statement); 

    statement = stripCFIFSimple(statement); 

 

    if (bIsSimple) { 

    statement = RemoveWhereClause(statement,false); 

    } else { 

    var pa = new Array(); 

 

        if (ss.ParamArray != null) { 

        for (var i = 0; i < ss.ParamArray.length; i++) { 

            pa[i] = new Array(); 

            pa[i][0] = ss.ParamArray[i].name; 

            pa[i][1] = ss.ParamArray[i].value; 

        } 

        } 

     

    var statement = replaceParamsWithVals(statement, pa, serverModel); 

    bindingsAndTypeArray = MMDB.getColumnAndTypeList(connName, statement); 

    return bindingsAndTypeArray; 

}