循环变量

时间:2016-10-06 13:23:46

标签: sql coldfusion coldfusion-9 coldfusion-10 coldfusion-11

我需要遍历变量并将返回值写入DB。 到目前为止,这是我的代码:

<cffunction name="csv">
    <cffile action="read" file="test.csv" variable="csvfile" charset="utf-8">
    <cfset csv_query = app.csvToQuery.CSVToQuery(CSV = csvFile.Trim()) />

    <cfloop query="csv_query">
        <cfset getInfo = app.directory.searchAll(
            findNo = "#replace(csv_query.column_1, "test", "", 'all')#",
            findBy = "Null"
        )>

        <!--- <cfdump var="#getInfo#"> --->
        <cfoutput><cfdump var="#getInfo.NAME#"></cfoutput>

        <cftry>
            <cfquery datasource="#app.dsn#">
                INSERT INTO WRITEINFO (
                    Name,
                ) VALUES (
                    '#val(getInfo.NAME)#',
                )
            </cfquery>
                <cfcatch type="database">
            </cfcatch>
        </cftry>

    </cfloop>
</cffunction>

它写入DB,但它只写入它获得的第一个值。我已经循环查询,当我转储值(<cfdump var="#getInfo.NAME#">)时,我可以看到我需要的所有值,但它们只是没有插入到数据库中

1 个答案:

答案 0 :(得分:0)

看起来好像无声地失败了。您捕获数据库错误但在发生错误时不执行任何操作。一个插入语句有效。在其他插入时,它可能会失败(例如,唯一索引违规,&#34;名称&#34;插入表格中的列等等)。也许摆脱try / catch块(至少是暂时的),看看会发生什么。