1

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

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

Paid  New
 1     1
 0     0
 1    NULL

结果我收到了这个错误

Specified cast is not valid

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

4

1 回答 1

3
SELECT Paid, ISNULL(New, 0)

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

至于 C# 修复,您可以将可空位转换为可空布尔(布尔?):

(bool?)sqlValue
于 2013-04-04T16:41:44.107 回答