У меня есть простая форма
form.cfm: -
<cfset Registr = createObject("component", "forms.Registr") />
<cfset setFoo = createObject('component','forms.Registr).putNUsr(username,password,rating) />
<form name="regFrm" action="#cgi.script_name#" method="post" onsubmit="submitform();" >
<tr><td>Username:</td>
<td><input type="text" name=" Username" value="#form. Username#" ></td></tr>
<tr><td>Password:</td>
<td><input class="" type="password" name="password" value="#form.password#" ></td></tr>
<tr><td>Rate:</td>
<select name="rating" >
<option value="" ></option>
<cfloop query="qGetReting">
<option value="#rating_id#" <cfif form. rating eq prof_id>selected</cfif> >#rating#</option>
</cfloop>
</select>
</td>
</tr>
</form>
Теперь в папке "forms" есть этот cfc с именем Registr.cfc, в котором есть функция вставки с именем 'putNUsr', код для Registr.cfc выглядит следующим образом.
<cfcomponent>
<cffunction name="putNUsr" returntype="void" displayname="" output="no">
<cfargument name="password" type="string" required="true">
<cfargument name="rating" type="numeric" required="true">
<cfargument name="username" type="string" required="true">
<cfquery datasource="#application.xyz#" name="q_putNUsr">
insert into
users (username
, password
, rating)
values(
<cfqueryparam value="#arguments. username#" cfsqltype="CF_SQL_VARCHAR" />,
<cfqueryparam value="#arguments.password#" cfsqltype="CF_SQL_VARCHAR" />,
<cfqueryparam value="#arguments.rating#" cfsqltype="CF_SQL_INTEGER" )
</cfquery>
</cffunction>
</cfcomponent>
Я могу заполнить БД данными, если не использую поле формы «рейтинг», которое
является числовым
В противном случае я получаю ошибку следующим образом: -
The RATING argument passed to the putNUsr function is not of type numeric.
If the component name is specified as a type of this argument, it is possible that either a definition file for the component cannot be found or is not accessible.
KINDLY
ПОМОГИТЕ
-С Вали