var local = {}; if (structKeyExists(server, "railo") or structKeyExists(server, "lucee")) { local.Columns = listToArray(arguments.q.getColumnList(false)); } else { local.Columns = arguments.q.getMetaData().getColumnLabels(); } local.QueryArray = ArrayNew(1); for (local.RowIndex = 1; local.RowIndex <= arguments.q.RecordCount; local.RowIndex++){ local.Row = {}; local.numCols = ArrayLen( local.Columns ); for (local.ColumnIndex = 1; local.ColumnIndex <= local.numCols; local.ColumnIndex++){ local.ColumnName = local.Columns[ local.ColumnIndex ]; if( local.ColumnName NEQ "" ) { local.Row[ local.ColumnName ] = arguments.q[ local.ColumnName ][ local.RowIndex ]; } } if ( structKeyExists( arguments, "cb" ) ) { local.Row = cb( local.Row ); } ArrayAppend( local.QueryArray, local.Row ); } return( local.QueryArray ); if (structKeyExists(server, "railo") or structKeyExists(server, "lucee")) { local.Columns = listToArray(arguments.q.getColumnList(false)); } else { local.Columns = arguments.q.getMetaData().getColumnLabels(); } local.QueryStruct = {}; local.numCols = ArrayLen( local.Columns ); for (local.ColumnIndex = 1; local.ColumnIndex <= local.numCols; local.ColumnIndex++){ local.ColumnName = local.Columns[ local.ColumnIndex ]; if( local.ColumnName NEQ "" ) { if ( structKeyExists( arguments, "cb" ) ) { local.QueryStruct[ local.ColumnName ] = cb( local.ColumnName, arguments.q[ local.ColumnName ][1] ); } else { local.QueryStruct[ local.ColumnName ] = arguments.q[ local.ColumnName ][1]; } } } return( local.QueryStruct );