簡體   English   中英

從字符串“valor”到類型“Integer”的轉換在 VB.NET 中無效

[英]Conversion from string "valor" to type 'Integer' is not valid in VB.NET

我是一名 C# 程序員,但現在我必須編寫 VB.NET 代碼,並且我遇到了試圖將這行 C# 代碼轉換為 VB.NET 的情況

我想要的是檢查我通過 MySQLDataReader 獲得的值是否為 DBNull,在 C# 中我用它來檢查字符串值是否為空

data.empName = dr.IsDBNull(1) ? "No name !!!" : dr.GetString(1).ToString();

但是現在我需要相同的驗證,但是在 VB.NET 中,並且通過 MySQLDataReader 檢索到的數據類型是十進制,這就是我當時得到的

IIf(dr.IsDBNull("valor"), 0.0, dr.GetDecimal(dr.GetOrdinal("valor")))

但是當我調試應用程序時收到錯誤消息:

Microsoft.VisualBasic.dll 中出現“System.InvalidCastException”類型的異常,但未在用戶代碼中處理

附加信息:從字符串“valor”到類型“Integer”的轉換無效。

MySQL表中的數據類型是Decimal(10,2),你能幫我告訴我我做錯了什么嗎

該行應該已讀, dr.IsDBNull("valor")的評估不正確並導致異常。 要補救,試試這個

IIf(dr.IsDBNull(dr.GetOrdinal("valor")), 0.0, dr.GetDecimal(dr.GetOrdinal("valor")))

暫無
暫無

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

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