リモートCFCにフォームのスコープを渡します
-
23-09-2019 - |
質問
=「リモート」アクセス権を持つCFCにフォームのスコープを渡すための構文は何ですか? 私が持っています:
<cfcomponent>
<cfset Variables.Datasource = "xxx">
<cffunction name="Save" access="remote">
<cfset var local = {}>
<!--- todo: try/catch --->
<cfif arguments.PersonID>
<cfquery datasource="#Variables.Datasource#">
UPDATE Person
SET FirstName = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.FirstName#">
,LastName = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.LastName#">
WHERE PersonID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.PersonID#">
</cfquery>
<cfset local.result = arguments.PersonID>
<cfelse>
<cfquery name="local.qry" datasource="#Variables.Datasource#">
INSERT INTO Person(FirstName,LastName) VALUES(
<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.FirstName#">
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.LastName#">
);
SELECT PersonID FROM Person
WHERE PersonID=Scope_Identity()
</cfquery>
<cfset local.result = local.qry.PersonID>
</cfif>
<cfreturn local.result>
</cffunction>
</cfcomponent>
私は、form.PersonID、form.firstnameでform.lastnameを渡す必要があります。
解決
あなたのリモート機能は、構造体引数、または3つの文字列の引数(PERSONID、姓と名の)のいずれかを受け入れることができます。
ドキュメントの参照の<CFARGUMENT>
他のヒント
一つ無関係の事。 CF9ではすでにのローカルの構造体の待機を持っています。これについては、ここでます。http:// forta.com/blog/index.cfm/2009/6/21/The-New-ColdFusion-LOCAL-Scopeする
所属していません StackOverflow