C#中如何为参数SqlDbType.Decimal指定精度与小数位数
来源:互联网 发布:玉雕网络培训 编辑:程序博客网 时间:2024/05/22 12:28
在.net中操作数据库的时候,我们更多的是推荐使用参数化来传值,但这其中就会产生一些疑惑,比如使用Decimal时如何保持与数据库中一样的精度与小数位数呢?
利用参数的Precision与Scale的属性即可,示例如下:
///<summary >
///更新一条数据
///</summary >
public DictionaryEntry Update_DictionaryEntry(SDERP.Model.storehouse.Storage_GoodsUnitExchange model)
{
……
SqlParameter[] parameters = {
new SqlParameter("@ID", SqlDbType.Int,4),
new SqlParameter("@GID", SqlDbType.VarChar,50),
new SqlParameter("@ChangeRate", SqlDbType.Decimal,13)
};
parameters[0].Value = model.ID;
parameters[1].Value = model.GID;
parameters[2].Value = model.ChangeRate;
parameters[2].Precision = 28;
parameters[2].Scale = 10;
return new DictionaryEntry(strSql, parameters);
}
这样,我们就指定了"@ChangeRate"参数的精度为28,最大小数位数为10。
注意:其实在.net中,如果没有特殊的情况,我们并不需要为参数设置精度与小数位数,在默认的情况下,参数会如实的传递用户的值,并不会像数据库一样如果不设置小数位数,那么小数位数就是0。而且如果在程序中设置了精度与小数位数,那么在后期的程序的修改中也会带来很大的工作量,试想一下,如果我们在此 处不设置,那么以后要改变decimal的小数位数,只要改掉数据库中对应的字段长度就行了,而程序不用做任何改更。而如果我们在程序中也设置了小数位 数,那么在改了数据库同时还得修改程序。
- C#中如何为参数SqlDbType.Decimal指定精度与小数位数
- C# decimal保留指定的小数位数,不四舍五入
- actionscript 中 如何控制数字精度(小数位数)
- actionscript 中 如何控制数字精度(小数位数)
- 17 如何取decimal的小数位数
- sql 除法中如何防止被除数为0,以及SUM和舍入为指定的小数位数函数
- sql 除法中如何防止被除数为0,以及SUM和舍入为指定的小数位数函数
- C#中设定小数位数
- Java中输出小数保留指定位数
- C++中输出指定位数的小数
- 在C#中使用SqlDbType.Xml类型参数
- 在C#中使用SqlDbType.Xml类型参数
- JAVA中double格式化控制精度小数位数,float同理
- JAVA中double格式化控制精度小数位数,float同理
- 精度、小数位数和长度
- 指定小数位数输出
- Java中如何取得指定小数位数的double型数据
- 在c++中如何控制小数位数
- ocx手动添加事件
- cocos2d-x win32移植到android
- Python:使用threading模块实现多线程编程
- ARM Linux静态映射分析
- C标准库源码解读(VC9.0版本)——stdarg.h
- C#中如何为参数SqlDbType.Decimal指定精度与小数位数
- this的使用
- 阿里云学习五 - 开发者 & 论坛
- Linux init程序分析
- WPF使用Storyboard实现图片跑马灯效果
- CentOS 5.5 PHP5.3.14 mysql Nginx攻略
- IP地址划分说明
- Meteor 0.5.3发布:改进的性能与实时的反应式更新
- eclipse快捷键详细介绍