2

Coldfusion を初めて使用します。ページを更新するとデータが 2 回挿入されます。coldfusion でページが更新されたときにデータが挿入されないようにする方法を教えてください。

4

4 に答える 4

3

<cflocation>トラビスが言ったように使用したい INSERT ステートメントを実行した後

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

に追加addtoken="false"するとcflocation、URL を介してクライアント変数を渡すことができなくなります。

于 2013-02-13T16:06:01.333 に答える
1

表示ページをプロセス ページに送信します。処理が完了したら、表示ページにリダイレクトします。このように、挿入/更新/削除は、表示ページの挿入/更新/削除ボタンを押すことによってのみ開始されます。

于 2013-02-13T16:02:13.773 に答える
0

ページの更新は、重複レコードを取得する可能性のあるいくつかの方法の 1 つです。これを防ぐ最も効果的な方法はデータベースにあると思います。まだ存在しないレコードのみを追加するように挿入クエリを記述します。

これを行うにはいくつかの方法があります。私の個人的なお気に入りはこれです:

    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

データベース テーブルにデータを挿入するかどうかを示すフラグをセッションで保持します。次の手順を実行します。

  1. 挿入する前に、セッション値"Y"
  2. セッション値が の場合"Y"、データを挿入し、セッション値を に変更します"N"
  3. セッション値が"N"の場合、テーブルにデータを挿入しません。

挿入後にページが更新されると、セッション値がチェックされ、"N". したがって、データは挿入されません。

于 2013-02-14T11:43:11.950 に答える