我在MSSQL服务器上有一个表,该表的列定义为小数(8,2)。

在我的c++应用程序中,我定义了以下参数以传递给sp。

pParam1 = pCommand->CreateParameter (
_bstr_t ("Thing"),
adDecimal,
adParamInput,
8,
(_variant_t) thing);
pCommand->Parameters->Append (pParam1);

我收到一个错误“无效的精度”。

如何在pParam1设置中定义精度以使其与表中的定义匹配?

最佳答案

默认值为(18,0)。在VBScript中,它将是:

pParam1.Precision = 8
pParam1.NumericScale = 2

对于C++,它非常相似:
pParam1->Precision = 8;
pParam1->NumericScale = 2;

09-06 14:07