soci :: i_ok和soci :: i_null之间的区别

时间:2016-06-22 10:05:31

标签: c++ database soci

我找不到soci :: i_ok和soci :: i_null常量的解释。它们在page中被提及为可能的数据状态,但它们的确切含义尚未定义。

我想知道soci :: i_ok是否为真是否意味着数据不为空?

(soci::i_ok == indicatorX) == (soci::i_null != indicatorX)  ---?

1 个答案:

答案 0 :(得分:0)

我在此页面的主题下找到了一些问题的解释:Handling nulls and other conditions。在这里分享,为了社区的利益。

根据文档,soci::i_ok表示返回的值没有任何错误,并且包含非null值。 soci::i_null表示该值为null,因为该列包含空值。

所以,是的,(soci::i_ok == indicatorX)表示(soci::i_null != indicatorX),并且没有提取错误。由于soci::i_ok包含soci::i_null的使用,我猜这两个常量是出于不同的原因(例如,如果你想要一个明确的空值检查)。