Trying to list table column names with data type
I have a list of table names and need to output the fields and their type. So I tried the code below but getName() returns string even when I know the field is an int. So I'm assuming I'm using the wrong function. I looked at the output from getMethods() but I didn't see anything else that would return the information I want. TIA.
<cfset TableList = "accountingsettings,address,area,areasettings">
<cfloop from="1" to="#Listlen(TableList)#" index="i">
<cfquery datasource="axxerion" name="getTablename">
select * from #Listgetat(TableList, i)#
where 0<>0
</cfquery>
<cfset colHeaderNames = ArrayToList(getTablename.getColumnList())/>
<cfoutput>
<p><b>#Listgetat(TableList, i)# #getTablename.getMetaData().getColumnCount()#</b></p>
<ul>
<cfloop from="1" to="#Listlen(colHeaderNames)#" index="x">
<cfdump var="#getMetaData(Listgetat(colHeaderNames,x)).getmethods()#">
<li>#Listgetat(colHeaderNames,x)# #getMetaData(Listgetat(colHeaderNames,x)).getName()# </li>
</cfloop>
</ul>
</cfoutput>
</cfloop>
Returns
accountingsettings 22
- ID java.lang.String
- BINENTRYID java.lang.String
- CLIENTID java.lang.String
- CREATESYSTEMUSERID java.lang.String
- CREATETIME java.lang.String
- DEPRECIATIONYEARS java.lang.String
- POSTNOTAPPROVED java.lang.String
- REGIONID java.lang.String
- RESIDUALVALUE java.lang.String
- REVISION java.lang.String
- UPDATESYSTEMUSERID java.lang.String
- UPDATETIME java.lang.String
- DUPLICATEREFERENCES java.lang.String
- STRICTMODE java.lang.String
- CONSOLIDATEINVOICEITEMS java.lang.String
- AUTOACCOUNTINGPERIOD java.lang.String
- INVOICEDESCRIPTION java.lang.String
- POSTREQUIRED java.lang.String
- CONSOLIDATEOUTINVOICEITEMS java.lang.String
- PAYMENTDIFFERENCECATALOGITEMID java.lang.String
- ACCOUNTINGPERIODLENGTHCODE java.lang.String
- CREDITPAYMENTS java.lang.String
