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.