0

私が取り組んでいる ASP.net (C#) アプリケーションがあります。アプリケーションには、入力して送信する複数ページのフォーム フィールドがあります。最後のページの下部には、すべてをデータベースに書き込む送信ボタンがあります。約 30 の異なるストアド プロシージャが呼び出されるため、これらのフィールドをフォームから DB に書き込むためのコードは非常に複雑です。ユーザーが「複製」と呼ばれる新しいボタンをクリックすると、複製を作成しようとしています。このボタンは、DB に複製コピーを保存する必要があります。「送信」ボタンからDBに書き込むためのコードをコピーして貼り付けようとしましたが、多くの問題が発生します。送信ボタンのコードを新しいメソッドに貼り付けたり、「複製」ボタンからそのメソッドを呼び出すなど、さまざまなアプローチを試しましたが、このアプローチは機能しません。そう、DBに保存されている送信されたコピーを複製する簡単な方法があるかどうかについて混乱しています。通常は、いくつかの SQL ステートメントで機能しますが、この場合、約 35 のストアド プロシージャ、70 の SQL テーブル、および 425 の列があり、これが問題になります。

したがって、基本的に問題の要約は次のとおりです。

フィールドが何であるかに応じて、送信時に、入力されたフィールドをDBのさまざまな場所に書き込むフォームがあります。

複製コピーを作成するフォームのデータベースに保存されたフィールドを複製する「複製」ボタンを作成したいと思います。

問題: 前述したように、約 215 のフォーム フィールドと 70 の SQL テーブルがあり、各フォーム フィールドはテーブルの特定の列に入ります。

4

1 に答える 1

0

これについては、データベースに直接コピーするストアド プロシージャをもう 1 つ作成します。次に、「複製」ボタンで新しいストアド プロシージャを呼び出し、コピーを作成してハンドル (コピー用に作成されたベース ID 値) を返し、そのハンドルを使用してコピーされたバージョンをアプリケーションにロードすることができます。トランザクション内でコピーを実行して、コミットする完全なコピーを取得するか、エラーが発生した場合にロールバックできるようにしてください。

于 2012-06-07T10:35:07.940 に答える