我的MSSQL服务器上有一个表,其列定义为十进制(8,2)。
从我的c ++应用程序中,我定义了以下要传递给sp。
的参数pParam1 = pCommand->CreateParameter (
_bstr_t ("Thing"),
adDecimal,
adParamInput,
8,
(_variant_t) thing);
pCommand->Parameters->Append (pParam1);
我收到错误“无效的精度”。
如何在pParam1设置中定义精度以使其与表中的定义相匹配?
答案 0 :(得分:2)
默认值为(18,0)。在VBScript中它将是:
pParam1.Precision = 8
pParam1.NumericScale = 2
对于C ++来说,它非常相似:
pParam1->Precision = 8;
pParam1->NumericScale = 2;
答案 1 :(得分:1)
您必须随后设置参数对象的Precison和NumericScale属性