c# – 从select查询返回一个布尔值

我想选择布尔值:
SELECT field1,field2,1 as is_field
FROM TABLE

在Visual Studio 2010中,我在做:

bool b = row.Field<bool>("is_field");

但我得到例外:

Specified cast is not valid.

如何将boolean值返回为boolean,而不是返回int?

解决方法

从SQL方面可以做到:
SELECT field1,CAST(1 AS BIT) AS is_field
FROM TABLE

强制它作为BIT而不是int返回.这应该够了吧

更新:
你对这样使用CAST有什么担忧? SQL Server是非常棒的优化例如上述查询的执行计划将显示is_field是一个常量,可以在前面进行一次评估(有一篇相关文章:http://msdn.microsoft.com/en-us/library/ms175933.aspx).即使没有这样的话,如果你关心性能,那么你不用担心 – 这将是非常早的优化.

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...