0

私はasp.netにかなり慣れていません。テストとして最初の実際のアプリを作成しています。SQL Server 2008 RS、VS Express 2012、IIS7.x、asp.net4.0 を使用

SSIS を使用して MSSQL DB に挿入される Fedex の出荷情報を毎晩受け取ります。次に、請求書をインポートし、差異照合を行い、Ref1 フィールドのジョブ番号に基づいてコストをジョブに登録します。これはすべてうまくいきます。ただし、出荷部門は、ref1 フィールドに JobNo のみを入力することになっています。もちろんそうではありませんし、臨時雇用者や出荷ステーションがたくさんあるので、データを修正する必要があります。JobNo の後にジャンクが続くか、ジャンクの後にジョブ番号が続きます。原価計算担当者が請求書を見ている場合、通常、ジョブ番号が何であるかは明らかです (たとえば、「ジョブ 123 のサンプル」は「123」である必要があります)。編集が必要な同じ Ref1 を持つ行が多数ある場合があります (たとえば、同じ Ref1 を持つ 20 個のカートン)。その請求書のすべてのレコードの参照番号を更新する 3 つのパラメーター (OldRef、NewRef、invNo) を持つ SP があります。

    UPDATE InvoiceLines
    SET REF1 = @NewRef1
    WHERE InvNo = @InvNo and Ref1 = @OldRef1

GridView (sqldatasource を使用) は、データを表示する良い方法だと思いました。Ref1 フィールドが無効な行のみを表示します。ユーザーが修正すると、レコード数が減少します。

ユーザーに行を選択してもらい、Ref1 の値を編集してもらい、選択した行の (古い) RefNo を取得します。これは新しい値であり、それらと InvNo を使用して SP を呼び出します (請求書をフィルタリングした DropDown から)。行テーブル)。

私が思っていたよりもはるかに困難/非効率的であることが判明しました。

この種のことを行うために私が見つけたすべての例では、ユーザーにすべての行をクリックさせ、すべての行をループして更新を行います。遅くて痛いことについて話してください。単一の SP を実行し、一致するすべての行を更新してから、リストを更新したいと考えています。

したがって、私が理解したいのは、OLD Ref1 (編集前の Ref1 の値 - SQL トリガーで削除されたようなもの)、NEW Ref1 (ユーザーが Ref1 に入力した編集された値 - SQL に挿入されたようなもの) を取得する方法です。トリガー)、SP を実行し、更新された値の結果セットでテーブルを更新します。

グリッド ビュー以外の何かを使用した方がよいでしょうか、それとも組み込みの Edit コマンド以外のものを使用した方がよいでしょうか?

更新の方法がわかった場合、GridView を更新するにはどうすればよいですか。

誰かが私を正しい方向に向けることができますか?

別のメモとして、私は C# への切り替えについてフェンスにいます。私が見つけた例のほとんどは C# にあります。私は何年も前に C++ を学び、週末に C# について読みました。さほど難しくないようです。Microsoft のホワイト ペーパーを見つけたのですが、VB と C# の違いはほとんどないと書かれているので、切り替える本当の理由はありません。私の同僚は C や C# を知りません。これについて何か考えはありますか?

よろしく

マーク

4

0 に答える 0