Listar campos de una tabla en ColdFusion

Muchas veces es tedioso configurar los campos de un insert o un update, trabajo que se puede solucionar con simples funciones, de este modo podemos añadir mas campos a la base de datos, agregar los inputs correspondientes sin tener que ir a modifcar los querys, hay ciertas connotaciones que hay que tener en cuenta, el caso de los campos numericos, buleanos o de fecha entre otros. En este punto podeis generar la funcion para que realice inserciones de datos segun tipo de valor, no obstante esto ya es programacion mas avanzada y cada uno le gusta hacerla a su manera.

Ejemplo: vamos a sacar los campos que contiene la tabla articulo

<cfquery datasource="#db#" name="tabla">select * from articulos</cfquery>
#tabla.columnlist# -> tendrás la lista completa de campos separados por ","

posteriormente puedes pasar esta lista a un array para separarlos e
individualizarlos.

<cfset l_campos = listtoarray(tabla.ColumnList, ',')>

Aquí tendrás un #l_campos# con todos los valores por lo que podrás hacer un
loop para colocar los campos y agregarle el valor de los forms.

Ejemplo de update:
<cfquery ....>update articulos set 
   <cfloop index="x" from="1" to="#arraylen(l_campos)#">
     #l_campos[x]# = '#evaluate("form.#l_campos[x]#")#', 
   </cfloop>
   uuid = '<valor de tu indexador>' where uuid = '<valor de tu indexador>'
</cfquery>

En el caso de ser un insert:
<cfquery dta.......>insert into articulos(


-------------------------o ----------------------------------
    <cfloop index="x" from="1" to="#arraylen(l_campos)#">
         #l_campos[x]#,
    </cfloop>  
------------------------o------------------------------------
    #tabla.ColumnList#,
-------------------------------------------------------------
    uuid) values(
    <cfloop index="x" from="1" to="#arraylen(l_campos)#">
         '#evaluate("form.#l_campos[x]#")#',
    </cfloop>
    '<valor de tu indexador>')
</cfquery>

De este modo así podrás ampliar campos facilitando la modificación de los
querys casi de de forma automática.