Skip to content

November 13, 2010

VS2010:类型不匹配

下流人真是虚空;上流人也是虚假;放在天平里就必浮起;他们一共比空气还轻。 ××××××××××××××××× 这是一个关于NULL的问题。具体的说,是关于VT_NULL的问题。 程序最近总是出现奇怪的错误,特别114版以后常见。但是又无法重现。昨天eric将accounts中的数据全部关闭,才发现这个错误只所在。 我以前用select从数据库中取值,返回空结果集的校验是 if (pResult->EOF() && pResult->BOF()) 同时达到头和尾,当然就是空了。 但是新的版本采用存储过程,这样无论如何都会返回一条记录来。哪怕全部是空值。所以,这时的检验要变为: pResult->Fields(“field”)->Value.vt == VT_NULL 之类。vt是variable类型的真实类型。 所以,这个问题就很好的解决了。用了一个下午debug。