在coldfusion中刷新页面时避免数据插入

时间:2013-02-13 15:36:32

标签: image coldfusion

我是Coldfusion的新手。当我刷新页面数据被插入两次时,请在coldfusion中刷新页面时避免数据插入的方法

4 个答案:

答案 0 :(得分:3)

运行INSERT语句之后,你想要像Travis所说的那样使用<cflocation>

<cflocation url="yoururl" addtoken="false">

您需要将addtoken="false"添加到cflocation,因为这会阻止通过网址传递客户端变量。

答案 1 :(得分:1)

让您的显示页面提交到流程页面。完成处理后,重定向回显示页面。这样,只有按显示页面上的插入/更新/删除按钮才能启动插入/更新/删除。

答案 2 :(得分:0)

页面刷新是您可以获得重复记录的几种可能方式之一。我认为防止这种情况的最有效方法是在数据库中。以这样的方式编写插入查询,即只添加尚不存在的记录。

有几种方法可以做到这一点。我个人最喜欢的是:

    INSERT INTO myTable ( field1, field2, etc )
    SELECT DISTINCT value1, value2, etc
    FROM   someSmallTable
    WHERE  NOT EXISTS
           (
              subquery to check for existing records
           )

这是一般性建议。根据所使用的数据库软件,某些细节可能会发生变化。

答案 3 :(得分:0)

在会话中维护一个标志,指示是否将数据插入数据库表。请按照以下步骤操作:

  1. 插入前,请检查会话值是否为"Y"
  2. 如果会话值为"Y",请插入数据并将会话值更改为"N"
  3. 如果会话值为"N",请勿将数据插入表中。
  4. 如果页面在插入后刷新,它将检查会话值并找到"N"。 所以不会插入数据。