在数据库之间转换类型,允许在 C# 中使用 null 值

本文关键字:null 之间 数据库 转换 类型 | 更新日期: 2023-09-27 18:37:03

我正在编写sql Server和Firebird之间的数据同步应用程序。在火鸟中,由于历史原因,布尔值由"Y"或"N"等域提供。现在我想在布尔值和 char(1) 之间创建转换函数,但它应该接受空值。

如果输入参数将是布尔值或字符串,并且来自 db 的值将为空,这会导致问题,对吗?

我该怎么做?

在数据库之间转换类型,允许在 C# 中使用 null 值

使用可为空的布尔值?

您可以设置

bool? flag = false; // or null 

稍后您可以使用 ?? 运算符进行检查

var result = flag ?? false; // this will return false in case of null

如果你的输入是三态的,你的输出是双态的,你需要考虑"默认值"。如果你只是在谈论处理 C# 部分中的可空布尔值,则可以使用"bool?"来表示可空布尔值(它被框在后台)。