当我从C ++代码调用存储过程时,我的float参数以某种方式被拆分为:34.555 => 34,555,当参数数量不匹配时出现错误。
这是我向_CommandPtr
添加参数的方法 ...
VARIANT VtLon = {0};
VtLon.vt = VT_NULL;
if(TargInf.dwFields & TI_FIELD_LON )
{
VtLon.vt = VT_R8;
VtLon.dblVal = TargInf.dLongitude;
}
param = pCommand_LogNewEvent->CreateParameter( _bstr_t( L"lon" ), adDouble, adParamInput, sizeof( double ), VtLon );
pCommand_LogNewEvent->Parameters->Append( param );
...
我将sql server默认语言从俄语更改为英语,问题就消失了。 但是我需要一种方法来管理它,而不需要这样的全局设置。