我找不到对 soci::i_ok 和 soci::i_null 常量的解释。它们在本页中被提及为可能的数据状态,但未定义其确切含义。
我想知道 soci::i_ok 是否为真是否意味着数据不为空?
(soci::i_ok == indicatorX) == (soci::i_null != indicatorX) ---?
我在此页面上的主题下找到了对该问题的一些解释:处理空值和其他条件。在此分享,造福社会。
根据文档,soci::i_ok
表示返回的值没有任何错误,并且它包含一个非空值。并且soci::i_null
表示该值为空,因为该列包含空值。
所以,是的,(soci::i_ok == indicatorX)
意味着,(soci::i_null != indicatorX)
并且没有获取错误。soci::i_ok
包括使用我soci::i_null
猜这两个常量是出于不同的原因放置的(比如如果你想要一个显式的空检查)。