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

前端之家收集整理的这篇文章主要介绍了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).即使没有这样的话,如果你关心性能,那么你不用担心 – 这将是非常早的优化.

猜你在找的C#相关文章