我无法将十进制值插入到 SQL Server 表中。
我想做的是通过这些代码行不言自明:
long fileSizeInBytes = ComponentUploadControl.FileContent.Length;
Decimal fileSizeInMB = Convert.ToDecimal(fileSizeInBytes) / (1024.0m * 1024.0m);
Decimal fileSizeInMBRounded = Math.Round(fileSizeInMB, 2);
cmd.Parameters.Add("@fileSize", SqlDbType.Decimal).Value = fileSizeInMBRounded;
被插入数据库的值被去掉了小数位。更具体地说,如果 fileSizeInMBRounded 是 11.73,则插入数据库的值是 11,00
请帮帮我
感谢期待
最佳答案
我怀疑您的小数字段在 SQL 中设置错误。您想要的是一个允许 2 位小数的 decimal(18,2)
字段。我怀疑您将该字段声明为 decimal(18,0)
(默认值),它不允许任何小数位。
如果您可以使用 SQL Server Profiler 验证进入您的数据库的 INSERT 的内容,您将更容易确定此类问题是由于您的代码还是 SQL 服务器上的某些原因造成的。
关于c# - 无法通过c#代码将小数插入到sql server表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858368/