0

1 つのフォームにいくつかのストアド プロシージャがあり、最後にコミットまたはロールバックしません。新しいフォームが読み込まれ、ユーザーに「ボックスに他の製品はありますか?」という質問が表示されます。ユーザーが [はい] をクリックすると、トランザクションはロールバックする必要があります。NO の場合、トランザクションはコミットする必要があります。

私の質問は、トランザクションの値を新しいフォームに渡すにはどうすればよいですか?

4

2 に答える 2

0

レイヤーを作成する必要があります: データ アクセス レイヤー、ビジネス ロジック レイヤー、およびプレゼンテーション レイヤー。これは 3 層アーキテクチャであり、トランザクションはデータ アクセス レイヤーにある必要があります 。 Three-Layer-Architecture-in-C-NET ですが、この状況では、質問を表示するために MessageBox を使用すると思います。Dialog Result を取得する必要があります。次のコードを使用します。

if (XtraMessageBox.Show("your question", "Heading", MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
        {
            Transaction.Commit();
        }
于 2013-05-27T12:33:36.617 に答える
0

トランザクションがフォームの近くに属しているとは思いません。フォームはビューです。トランザクションはサービスによって所有および管理されます。あなたのデザインは、適切にレイヤー化されているようには聞こえません。

于 2013-05-27T12:23:11.413 に答える