首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库中存储多个值的CFloop查询

在数据库中存储多个值的CFloop查询
EN

Stack Overflow用户
提问于 2016-09-26 05:11:47
回答 1查看 169关注 0票数 1

我有几个包含多个值的变量。基本上,我想将所有的值存储到我的数据库中。我正在使用这段代码,这是我在Stackoverflow中得到的。

代码语言:javascript
复制
<cfquery datasource="databaseName">

INSERT INTO spreadsheet 
    ([Local.Time.Stamp],
    [Energy.Delivered..kVAh.],
    [Energy.Received..kVAh.],
    [Energy.Received..kVARh.],
    [Energy.Delivered..kVARh.],
    [Real.A..kW.],
    [Real.B..kW.])

    VALUES
    (<cfloop query="excelquery">
    '#excelquery.col_1#',
    '#excelquery.col_2#',
    '#excelquery.col_3#',
    '#excelquery.col_4#',
    '#excelquery.col_5#',
    '#excelquery.col_6#',
    '#excelquery.col_7#'
    </cfloop>)

</cfquery>

但是,我总是会遇到语法错误。我相信我的cfloop部分是错误的,有人能告诉我正确的方式为我写那个弹出吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 06:10:01

问题在于生成的查询不是cfloop,也就是说,要输入多个值,格式应该如下:

代码语言:javascript
复制
INSERT INTO TableName (col,col,...) VALUES (val,val,...),(val,val,...),...

此外,使用cfqueryparam避免sql注入。

你可以试试这个:

代码语言:javascript
复制
<cfquery datasource="databaseName">

  INSERT INTO spreadsheet 
    ([Local.Time.Stamp],
    [Energy.Delivered..kVAh.],
    [Energy.Received..kVAh.],
    [Energy.Received..kVARh.],
    [Energy.Delivered..kVARh.],
    [Real.A..kW.],
    [Real.B..kW.])

  VALUES
   <cfloop query="excelquery">

     <!--- cf_sql_varchar is just an example.  --->
     (<cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_1#">,
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_2#">,
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_3#">,
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_4#">,
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_5#">,
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_6#">,
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#excelquery.col_7#">) 
      #excelQuery.currentRow NEQ excelQuery.recordCount ? ',': ''#
    </cfloop>

</cfquery>

在生成查询之前,您可能必须添加一个recordCount检查,以避免没有记录的错误。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39695092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档