【发布时间】:2023-03-28 16:18:01
【问题描述】:
我是一名 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),你能帮我告诉我我做错了什么
【问题讨论】: