我使用存储过程中的数据返回两列:Paid和New
它们都包含位值。因此,它返回0或1,但是一些测试数据返回NULL。
Paid New
1 1
0 0
1 NULL
因此我收到此错误
Specified cast is not valid
如何在c#中解决此问题,或者更好地在存储过程本身中解决此问题,以便存储过程只返回0或1。
答案 0 :(得分:3)
SELECT Paid, ISNULL(New, 0)
这将在“New”列中返回0而不是NULL。这是在存储过程中修复的。
对于C#fix,你可以将可空位置为可空的bool(bool?):
(bool?)sqlValue