我有一個簡單的表格ColdFusion組件: - 傳遞給函數的參數的類型是數字
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>
現在有這個CFC在叫Registr.cfc具有稱爲'putNUsr'的'Registr.cfc'代碼的插入函數的「forms」文件夾如下。
<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.
親切 HELP -S瓦利
也可以這樣做: –
rip747
2010-04-27 12:41:59