2016-11-03 40 views
-1

我正在從sql服務器獲取數據並使用c#編程導出到excel。基於列數據類型,我正在做cell的格式。在這裏我遇到了一個問題。數據庫數據類型轉換問題

在sql服務器中,檢索列數據類型被定義爲數字(20,0)。在我的應用程序列中,類型即將以Decimal.I類型獲取其他數字類型,如Double或Int64。有什麼辦法可以得到它嗎?

+0

根本不清楚你在問什麼,或者你在期待什麼作爲答案。對於您遇到的任何特定問題,請包括[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。另請閱讀[我如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。 – Igor

+0

你是如何從數據庫中獲取數據的?您是否使用DateReader,DataAdapter或其他ORM?最安全的方法可能是繼續將它作爲一個「十進制」,然後在C#中進行轉換,以便處理任何溢出情況。 –

回答

0

由於數據庫中的數據類型是數值型的,因此您有兩個選項來獲得double或int。

  1. 將數據庫中的數據類型從數字更改爲int。
  2. 以小數形式接收數據並將其舍入。爲此,使用Math.Round作爲Convert.ToInt32可以有一些意想不到的行爲。