2016-11-03 7 views
-1

SQL Serverからデータをフェッチして、C#を使用してプログラムでExcelにエクスポートしています。列データ型に基づいて、セルのフォーマットを実行しています。データベースのデータ型変換の問題

SQL Serverでは、列データ型の取得は数値(20,0)として定義されています。アプリケーションの列の型はDecimalとして来ています.DoubleまたはInt64のような他の数値型を取得します。それを得る方法はありますか?

+0

あなたが何を求めているのか、何を期待しているのかは明確ではありません。特定の問題が発生している場合は、[最小限の、完全で検証可能な例]を含めてください(http://stackoverflow.com/help/mcve)。 [良い質問をするにはどうすればいいですか](http://stackoverflow.com/help/how-to-ask)も読んでください。 – Igor

+0

DBからどのようにデータを取得していますか? DateReader、DataAdapter、またはその他のORMを使用していますか?最も安全な方法はおそらくそれを 'decimal'として取得し、C#で変換してオーバーフロー条件に対処できるようにすることです。 –

答えて

0

DB内のデータ型は数値なので、double型とint型の2つのオプションがあります。

  1. データベースのデータ型を数値からintに変更します。
  2. データを小数点として受信し、丸めます。このためには、Convert.ToInt32が予期しない動作をする可能性があるため、Math.Roundを使用します。