0

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 サーバーのデフォルト言語をロシア語から英語に変更したところ、問題はなくなりました。しかし、そのようなグローバル設定なしで管理する方法が必要です。

4

0 に答える 0