|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。在.net中操纵数据库的时分,我们更多的是保举利用参数化来传值,但这个中就会发生一些困惑,好比利用Decimal时怎样坚持与数据库中一样的精度与小数位数呢?
使用参数的Precision与Scale的属性便可,示比方下:
///<summary>
///更新一条数据
///</summary>
publicDictionaryEntryUpdate_DictionaryEntry(SDERP.Model.storehouse.Storage_GoodsUnitExchangemodel)
{
……
SqlParameter[]parameters={
newSqlParameter("@ID",SqlDbType.Int,4),
newSqlParameter("@GID",SqlDbType.VarChar,50),
newSqlParameter("@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;
returnnewDictionaryEntry(strSql,parameters);
}
如许,我们就指定了"@ChangeRate"参数的精度为28,最巨细数位数为10。
注重:实在在.net中,假如没有特别的情形,我们其实不必要为参数设置精度与小数位数,在默许的情形下,参数会照实的传送用户的值,其实不会像数据库一样假如不设置小数位数,那末小数位数就是0。并且假如在程序中设置了精度与小数位数,那末在前期的程序的修正中也会带来很年夜的事情量,试想一下,假如我们在此处不设置,那末今后要改动decimal的小数位数,只需改失落数据库中对应的字段长度就好了,而程序不必做任何改更。而假如我们在程序中也设置了小数位数,那末在改了数据库同时还得修正程序。我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。 |
|