有关SqlDbType.Decimal

今天在开发过程中遇到SqlDbType.Decimal类型的参数,返回值却是没有小数位的整数值,郁闷坏了。查了半天资料,原来需要指定小数位。具体书写如下:                

cmd.Parameters.Add("@Percent", SqlDbType.Decimal).Direction = ParameterDirection.Output;               
cmd.Parameters["@Percent"].Precision = (byte)18;               
cmd.Parameters["@Percent"].Scale = (byte)2;

这样出来的就是小数点后保留两位的。

msdn帮助文档上说明:

SqlParameter.Precision 属性:指点最大位数;
SqlParameter.Scale 属性:指定小数位数;

SqlCommand 增加SqlDbType.Decimal参数问题

05-12

SqlCommand tmpInsertCommand = new SqlCommand("InsertQydwxx",new SqlConnection(TfczConfiguration.ConnectionString));rn tmpInsertCommand.CommandType = CommandType.StoredProcedure; //设置Command类型为存储过程rn SqlParameterCollection sqlParams = tmpInsertCommand.Parameters;  //新建一个参数集合rn //sqlParams.Add(new SqlParameter("@dwbh00", SqlDbType.Int)).Direction = ParameterDirection.Output;rn sqlParams.Add(new SqlParameter("@dwbh00", SqlDbType.VarChar, 10)); //单位编号rn sqlParams.Add(new SqlParameter("@dwmc00", SqlDbType.VarChar, 30)); //单位名称rn sqlParams.Add(new SqlParameter("@dwdz00", SqlDbType.VarChar, 100)); //单位地址rn sqlParams.Add(new SqlParameter("@yzbm00", SqlDbType.VarChar, 10)); //邮政编码rn sqlParams.Add(new SqlParameter("@dwdh00", SqlDbType.VarChar, 15)); //单位电话rn sqlParams.Add(new SqlParameter("@frdb00", SqlDbType.VarChar, 10)); //法人代表rn sqlParams.Add(new SqlParameter("@frdbdh", SqlDbType.VarChar, 15)); //法人代表电话rn sqlParams.Add(new SqlParameter("@cwfzr0", SqlDbType.VarChar, 10)); //财务负责人rn sqlParams.Add(new SqlParameter("@cwfrdh", SqlDbType.VarChar, 15)); //务负责人电话rn sqlParams.Add(new SqlParameter("@zgrs00", SqlDbType.Decimal, 10)); //职工人数(字段大小可能有问题)rn sqlParams.Add(new SqlParameter("@qyzgbm", SqlDbType.VarChar, 40)); //企业主管部门(可取代码库)rn sqlParams.Add(new SqlParameter("@gzxs00", SqlDbType.VarChar, 40)); //企业改制形式(取代码库)rn sqlParams.Add(new SqlParameter("@sfjhgz", SqlDbType.DateTime)); //改制基准日期rn sqlParams.Add(new SqlParameter("@sfjhgz", SqlDbType.VarChar, 2)); //否计划内改制rn sqlParams.Add(new SqlParameter("@gzwcrq", SqlDbType.DateTime)); //改制完成日期rn sqlParams.Add(new SqlParameter("@pzwh00", SqlDbType.VarChar, 40)); //改制领导小组批准文号rn sqlParams.Add(new SqlParameter("@gycgdw", SqlDbType.VarChar, 40)); //国有股持股单位rn sqlParams.Add(new SqlParameter("@gycgse", SqlDbType.Decimal, 20)); //国有股持股数额字段大小可能有问题)rn sqlParams.Add(new SqlParameter("gycgbl", SqlDbType.Decimal, 6)); //国有股股权比例rn如上面所示rnsqlParams.Add(new SqlParameter("gycgbl", SqlDbType.Decimal, 6)); //国有股股权比例rn的数据库结构是6,2有两个小数位那在这个参数里怎么写,那位兄弟能说一下像这样的类怎么调试吗,我是访照Duwamish7做的 论坛

没有更多推荐了,返回首页