指定的强制转换不是有效的 - 存储过程中的位值为NULL

时间:2013-04-04 16:35:54

标签: c# sql-server-2008

我使用存储过程中的数据返回两列:Paid和New

它们都包含位值。因此,它返回0或1,但是一些测试数据返回NULL。

Paid  New
 1     1
 0     0
 1    NULL

因此我收到此错误

Specified cast is not valid

如何在c#中解决此问题,或者更好地在存储过程本身中解决此问题,以便存储过程只返回0或1。

1 个答案:

答案 0 :(得分:3)

SELECT Paid, ISNULL(New, 0)

这将在“New”列中返回0而不是NULL。这是在存储过程中修复的。

对于C#fix,你可以将可空位置为可空的bool(bool?):

(bool?)sqlValue