首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OracleCommand不能将0转换为布尔值

OracleCommand不能将0转换为布尔值
EN

Stack Overflow用户
提问于 2013-11-29 19:22:23
回答 2查看 397关注 0票数 2

我得到一个指定的强制转换无效。当我执行以下代码时:

incident.InjuryPM =Convert.IsDBNull(读者“CAD_INJ_TIME_PM”)?假:Convert.ToBoolean(阅读器“CAD_INJ_TIME_PM”);

  • incident.InjuryPM属性为布尔型。
  • CAD_INJ_TIME_PM的类型是VARCHAR2(2字节)。
  • CAD_INJ_TIME_PM的值为"0“。
  • 这个阅读器是OracleDataReader型的

我对Oracle 11g非常陌生,所以我可能遗漏了一些东西。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-29 19:47:48

在C# Convert.ToBoolean()中,不接受字符串"0“或"1",只有"true”或"false“的变体。因此,如果将varchar(2)字符串作为列类型,则可能需要首先将其转换为int:

代码语言:javascript
复制
Convert.ToBoolean(Convert.ToInt32(reader["CAD_INJ_TIME_PM"]))
票数 3
EN

Stack Overflow用户

发布于 2013-11-29 19:46:01

我很确定你是在找这个

代码语言:javascript
复制
reader.IsDbNull(idx) ? false : Convert.ToBoolean(Convert.ToInt32(reader[idx]));

其中idx是您要搜索的字段的索引。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20292232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档