前两天发现读取数据库时当独处数据为VT_NULL时,转化成为字符串会弹出错误,百思不得解,索性放过。
后来发现读取空字段并转化又不出问题,调试发现空数据被认作VT_BSTR,空字符串?
注意到空字段所在列中有几个随便加的字串,会不会是他们的作用?
删掉所有字串,重新读,空字段又变回VT_NULL,果然如我所想。
几天过去了,关于转化空字段还是没什么办法,只好使用以下代码规避:
_variant_t var;
......
if(var.vt == VT_NULL)
{
.......
}