SQLCommand.Parameters.Add - 如何给出十进制值大小?

Ton*_* D. 16 c# sqlparameter

你会如何指定:

Decimal(18,2)
Run Code Online (Sandbox Code Playgroud)

在这:

SqlComm.Parameters.Add("@myValue", SqlDbType.Decimal, 0, "myValue");
Run Code Online (Sandbox Code Playgroud)

目前我已经precision = 2从设计方面定义了属性.我只是好奇如何从代码中完成这个.谢谢

D S*_*ley 29

没有重载Add可以让你设置内联的小数精度,所以你需要创建一个SQlParameter对象并将其添加到集合中:

SqlParameter param = new SqlParameter("@myValue", SqlDbType.Decimal);
param.SourceColumn = "myValue";
param.Precision = 18;
param.Scale = 2;
SqlComm.Parameters.Add(param);
Run Code Online (Sandbox Code Playgroud)

或添加后"找到"参数:

SqlComm.Parameters.Add("@myValue", SqlDbType.Decimal, 0, "myValue");
SqlParameter param = SqlComm.Parameters["@myValue"];
param.Precision = 18;
param.Scale = 2;
Run Code Online (Sandbox Code Playgroud)

  • 根据 Microsoft 文档(请参阅原始帖子中的评论) - 您不需要设置输入参数的比例和精度。 (2认同)