在Coldfusion中的IF声明

时间:2013-12-11 10:16:03

标签: stored-procedures if-statement coldfusion

我在coldfusion文件中有一个表单,我想放入一个if语句来检查某些字段在发送到存储过程之前是否有文本。因此,检查表单字段的if语句不为null,如果它们是某种文本,则说“请输入数据”......

我想把if语句放在这段代码中......

    <CFSTOREDPROC PROCEDURE="InsertOfficeLocation" DATASOURCE="#application.servernamesql02#">
<CFPROCPARAM VALUE="#country#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Country">
<CFPROCPARAM VALUE="#address#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address">
<CFPROCPARAM VALUE="#address2#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address2">
<CFPROCPARAM VALUE="#address3#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address3">
<CFPROCPARAM VALUE="#address4#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address4">
<CFPROCPARAM VALUE="#city#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@City">
<CFPROCPARAM VALUE="#postcode#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@PostCode">
<CFPROCPARAM VALUE="#receptionnumber#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@ReceptionNumber">
<CFPROCPARAM VALUE="#mainnumber#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@MainNumber">
<CFPROCPARAM VALUE="#faxnumber#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@FaxNumber">
<CFPROCPARAM VALUE="#username#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Username">
<CFPROCPARAM VALUE="#timestamp#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Timestamp">    
    </CFSTOREDPROC>

1 个答案:

答案 0 :(得分:0)

至于您向我们展示的代码以及您如何表达您的问题,您应该只需要执行以下操作:

<cfif len(form.country) AND len(form.address) ...>
  <cfstoredproc >...</cfstoredproc>
<cfelse>
  Please enter all fields
</cfif>

虽然我可能想做一些比这更好的事情,例如每个字段的不同错误消息。或者使用cfprocparam上的NULL属性来传递空字段的空值。

你也说这些是形式值;最好使用相关范围来定义变量。

PS:当类型为OUT或INOUT时,您只需在variable上指定<cfprocparam>属性