问:我有一个CFM叫我CFC在CFFORM行动路线: ColdFusion的CFC返回的记录数
在我的CFC,我有输出=“假”。我需要将记录计数发送回我的CFM。当我运行我的CFM并输入表单信息时,我的查询成功运行,但它不会回到我的CFM中,因此我可以显示正确的消息。我只用我的记录数来得到CFC页面。有什么建议么?谢谢!
问:我有一个CFM叫我CFC在CFFORM行动路线: ColdFusion的CFC返回的记录数
在我的CFC,我有输出=“假”。我需要将记录计数发送回我的CFM。当我运行我的CFM并输入表单信息时,我的查询成功运行,但它不会回到我的CFM中,因此我可以显示正确的消息。我只用我的记录数来得到CFC页面。有什么建议么?谢谢!
既然没有代码,做了一些假设,在这里你是如何做的事情....
不要指向CFC,指向一个CFM页中的<cfform>
。 (如果省略的动作,它会指向回自己..我喜欢自我参照的表单页面)
在你的CFC,从查询返回结果的结构:
<cfquery datasource="#ds#" name="myQuery" result="myResult">
INSERT INTO myTable .....
</cfquery>
然后要么返回这整个结构,或者只是myResult.recordCount
:
<cfreturn myResult.recordCount>
然后在你的页面CFM,你访问它,像这样(假设你使用<cfscript>
;如果你正在做类似的基于标记):
recordsAdded = createObject('component','myFolder.myCFC').insertMethod(form);
createObject方法本身不会返回组件的一个实例,所以insertMethod函数将不可用。你需要做createObject('component','myFolder.myCFC')。init()。insertMethod(form);其中init方法返回“this” – bittersweetryan
要添加提示,如果您使用的是SQL Server 2k5 +,则可以使用OUTPUT子句实际返回所有插入的数据,包括密钥。然后,如果需要,可以返回查询结果以及myQuery.recordCount。 –
@bittersweetryan事实上,除非需要运行额外的构造函数代码(并且在CF9中,构造函数是隐式的,不需要显式执行),否则init()不是必需的。 –
我改变了CFFORM行这样的: ....我的形式其余
然后添加这些行,看看是否提交表单,哪些动作是:
<!--- create object for cfc --->
但现在,我的查询不运行....
你可以张贴一些代码? –
现在,这是我的
Mia
这是我的
Mia