簡體   English   中英

無法將十進制值轉換為貨幣,C#-> SP SQL Server

[英]Cannot convert a decimal value to money, C# -> SP SQL Server

我想執行一個存儲過程,並給它一個這樣的參數:

new SqlParameter("@ResidualValue", importExportOptions.ResidualValue)

ResidualValue的類型為小數,在數據庫中,其類型為Money。 現在,我一直在尋找答案,並且發現了以下內容:

“只需使用新的SqlMoney(decimal)構造函數初始化Parameter。SqlParameter parameter = new SqlParameter(” @ Money“,SqlDbType.Money);”

但是添加SqlDbType.Money不再給我提供指定值importExportOptions.ResidualValue的選項。 我能做什么?

我認為您正在尋找的東西;

command.Parameters.Add(
    new SqlParameter("@ResidualValue", SqlDbType.Money).Value = importExportOptions.ResidualValue;

盡管現在不贊成使用此語法,因為MSDN中的此引用顯示:

AddWithValue替換采用字符串和Object的SqlParameterCollection.Add方法。 接受帶字符串和對象的Add的重載已被棄用,原因是與SqlParameterCollection可能存在歧義。添加帶字符串和SqlDbType枚舉值的Add重載,其中將帶有字符串的整數傳遞可以解釋為參數值或對應的SqlDbType值。 每當您想通過指定參數名稱和值來添加參數時,請使用AddWithValue。

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparametercollection.addwithvalue%28v=vs.110%29.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM