0

私はしばらくこれに取り組んできましたが、追加の目 (つまり皆さん) が役立つかもしれないと考えました。後で呼び出されて変数を渡す cffunction で実行される mySQL 挿入クエリを定義しました。cf コードは正常に機能しますが、コードが渡されたかどうかを確認するためにデータベースにアクセスするたびに、データが保存されていません。他のすべての mySQL クエリは意図したとおりに機能するため、データベース自体に問題がないことはわかっています。多分私は関数の引数を間違って呼んでいますか? 問題のコードは次のとおりです。

<cffunction name='sendToDiffQry'>
    <cfargument name="loanid" type="any" required="yes"/>
    <cfargument name="oldValue" type="any" required="yes"/>
    <cfargument name="newValue" type="any" required="yes" />
    <cfargument name="fieldName" type="string" required="yes" />

    <cftransaction>

            <cfquery name="diffInsert" datasource="STLinux1MySQL" result="diff">
             INSERT into tax_search_diff_table
                (
                tax_search_loan_id,
                 old_value,
                 new_value,
                 field_name,
                 timeofedit
                )
                VALUES
                (
                <cfqueryparam value="#trim(Val(loan_id))#" cfsqltype="cf_sql_bigint">,
            <cfqueryparam value="#trim(oldValue)#" cfsqltype="cf_sql_varchar">,
             <cfqueryparam value="#trim(newValue)#" cfsqltype="cf_sql_varchar">,
             <cfqueryparam value="#trim(fieldName)#" cfsqltype="cf_sql_varchar">,
             Now()

                ) 
            </cfquery> 

        </cftransaction>
</cffunction>

そして、これは私がそれを呼ぶ方法です:

<cfset
        sendToDiffQry(url.tax_search_loan_id, form.old_frequency_id, form.frequency_id, 'frequency')>

cfoutput タグ内でも呼び出すことができることはわかっていますが、同じ結果が得られます。ここで非常に基本的な何かが欠けていると確信しています。

4

1 に答える 1

0

tax_search_loan_id 列の場合、引数をloanidとして取得し、cfqueryparamでloan_idとして使用するため、このコードを試してください

<cffunction name='sendToDiffQry'>
  <cfargument name="loanid" type="any" required="yes"/>
  <cfargument name="oldValue" type="any" required="yes"/>
  <cfargument name="newValue" type="any" required="yes" />
  <cfargument name="fieldName" type="string" required="yes" />

    <cfquery name="diffInsert" datasource="STLinux1MySQL" result="diff">

       INSERT into tax_search_diff_table
       (
        tax_search_loan_id,
        old_value,
        new_value,
        field_name,
        timeofedit
       )
       VALUES
       (
        <cfqueryparam value="#trim(Val(arguments.loanid))#" cfsqltype="cf_sql_bigint">,
        <cfqueryparam value="#trim(arguments.oldValue)#" cfsqltype="cf_sql_varchar">,
        <cfqueryparam value="#trim(arguments.newValue)#" cfsqltype="cf_sql_varchar">,
        <cfqueryparam value="#trim(arguments.fieldName)#" cfsqltype="cf_sql_varchar">,
        <cfqueryparam value="#Now()#" cfsqltype="cf_sql_varchar">
       ) 

 </cfquery> 
</cffunction>
于 2013-10-18T14:36:31.687 に答える