1

Flash Builder 4.6 によって自動生成される標準の createOrders 関数を使用しています。1回の使用で見事に機能します。コードは次のとおりです。

protected function okButton_clickHandler():void
            {
                var orders2:Orders = new Orders();
                //setting values
                createOrdersResult.token = ordersService.createOrders(orders2);
                ordersService.commit();                 
            }

同じボタンが2回クリックされ、その結果として okButton_clickHandler が起動されると、データがデータベースに挿入されません。trace("saved");で結果ハンドラーを追加しました。私が見たのは、最初のクリックでは「保存済み」と書かれていましたが、2番目ではありませんでした。

また、 Charlesを使用して、リクエストが 2 回目に送信されているかどうかを確認しました。いいえ、そうではありません。

編集 自動生成フォームを生成しようとしました。commit(); を追加するだけで済みました。else リクエストが送信されないためです。ここに保存の問題があります — リクエストは最初のボタンクリックでのみ送信されます。

EDIT 2 したがって、すべての問題は、実際には ordersService.createOrders(orders2); です。一度だけ動作します。私がしようとすると

createOrdersResult.token = ordersService.createOrders(orders2);
                ordersService.commit();
                createOrdersResult.token = ordersService.createOrders(orders2);
                ordersService.commit();
OR
            createOrdersResult.token = ordersService.createOrders(orders2);             
            createOrdersResult.token = ordersService.createOrders(orders2);
            ordersService.commit();

データベースに追加される行は 1 つだけです。何か案は?

4

0 に答える 0