2012-06-07 25 views
0

我操縱DataTable中的數據,然後調用SqlDataAdapter.Update()將數據放回到SQL DB中。它主要工作 - 除了我可以看到之前我呼籲Update()之前,DataTable某些列中的數字有小數部分,但之後Update()我查看SQL表中的數字的小數部分已被刪除,並且這些值都是整數。SqlDataAdapter.Update截斷雙精度返回sql表中

原始DataTableSqlDataAdpater.Fill()創建,SqlCommandBuilder用於創建默認的更新/插入/刪除命令。填充DataTable的select語句只包含一個SQL表。相關的SQL表列數據類型是decimal,我確認這是DataTable中列的類型。

任何有關我在這裏失蹤的建議?感謝您的幫助。

+3

看看DataAdapter的UpdateCommand的參數集合,看看這個字段有什麼['Scale'](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.scale.aspx) 。我假設它是0而不是2。 –

+0

@TimSchmelter - 是的,我的SQL數據庫列設置爲十進制(18,0) - 切換到(9,4)後我正在正確填充SQL表。你爲什麼不把它寫成答案,以便我可以給你信任。 – Conrad

回答

1

按照要求,作爲回答我的評論:

看那DataAdapterUpdateCommand的參數集合,看看有什麼Scale此字段。我認爲它是0而不是2(你的小數位數)。然後相應地改變它。