我是Coldfusion的新手。当我刷新页面数据插入两次时,请在coldfusion中刷新页面时避免数据插入
问问题
1147 次
4 回答
3
运行 INSERT 语句后,你会想像<cflocation>
Travis 说的那样使用
<cflocation url="yoururl" addtoken="false">
您需要添加addtoken="false"
到您的cflocation
,因为这将阻止通过 url 传递客户端变量。
于 2013-02-13T16:06:01.333 回答
1
让您的显示页面提交到流程页面。完成处理后,重定向回您的显示页面。这样,插入/更新/删除只能通过按下显示页面上的插入/更新/删除按钮来启动。
于 2013-02-13T16:02:13.773 回答
0
页面刷新是获得重复记录的几种可能方式之一。我认为防止这种情况的最有效方法是在数据库中。以仅添加不存在的记录的方式编写插入查询。
有几种方法可以做到这一点。我个人最喜欢的是这个:
INSERT INTO myTable ( field1, field2, etc )
SELECT DISTINCT value1, value2, etc
FROM someSmallTable
WHERE NOT EXISTS
(
subquery to check for existing records
)
这是一个通用的建议。一些细节可能会根据所使用的数据库软件而改变。
于 2013-02-13T17:33:29.260 回答
0
在会话中维护一个标志,指示是否将数据插入数据库表。执行以下步骤:
- 在插入之前,检查会话值是否
"Y"
为 - 如果会话值为
"Y"
,则插入数据并将会话值更改为"N"
- 如果会话值为
"N"
,则不向表中插入数据。
如果页面在插入后刷新,它会检查会话值并找到"N"
. 所以数据不会被插入。
于 2013-02-14T11:43:11.950 回答