1

Asp.Net(C#) には、ユーザーが詳細を入力する簡単なフォームがあります。詳細には、ユーザーの総土地面積とその単位 (ヘクタール、メートル、フィートなど) が含まれます。この詳細は SQL データベースに保存されます。この詳細は、グリッドビューに表示する必要があります。私はここまでやったが、私の問題は、土地面積が共通の単位(ヘクタール)で表示されることです。制限は、データベースから送信されたデータを取得するときに変換する必要があることです。誰かがそれに対する解決策を持っていますか。

4

1 に答える 1

1

シナリオの簡単なオプションは次のとおりです。

  • データベースシステムがサポートしている場合(SQL Serverがサポートしている場合)、データベースに計算列を直接作成し、ストアドプロシージャから返します

  • データをフェッチするためのストアド プロシージャを変更して、変換を行うようにします (たとえば、SQL Server の case ステートメントを使用)。

    case t.unit
        の場合 'hactare' 次に t.area
        の場合 'sqmeter' の場合 t.area / 10000
        の場合 'sqfeet' の場合 t.area / xxxx
    end

  • データ テーブルに列を追加し、データをバインドする前に値を計算します (データ テーブルには計算列を含めることもできますが、式の構文はかなり制限されているため、C# で手動で行う方がよいようです)。

    table.Columns.Add("AreaInHectare");
    foreach (var row in table) {
        row["AreaInHectare"] = GetAreaInHectare((decimal)row["Area"], (string)row["Unit"];
    }

おそらく、丸めを適用して、不要な小数点以下の桁数を切り捨てたいと思うでしょう。

于 2013-01-05T12:29:58.253 に答える