SqlDbType.Decimal问题
public SettledParamInfo GetSettledParam(int CntOfValue)
{
SqlCommand sqlCmd = new SqlCommand();
SettledParamInfo sp = new SettledParamInfo();
AddParamToSQLCmd(sqlCmd, "@CountOfValue", SqlDbType.Int, 4, ParameterDirection.Input, CntOfValue);
SqlParameter outputA2 = sqlCmd.Parameters.Add("@A2", SqlDbType.Float); //如果写成SqlDbType.Decimal ,则返回的是整数,不是小数
outputA2.Direction = ParameterDirection.Output;
SqlParameter outputA3 = sqlCmd.Parameters.Add("@A3", SqlDbType.Float);
outputA3.Direction = ParameterDirection.Output;
SqlParameter outputB3 = sqlCmd.Parameters.Add("@B3", SqlDbType.Float);
outputB3.Direction = ParameterDirection.Output;
SqlParameter outputB4 = sqlCmd.Parameters.Add("@B4", SqlDbType.Float);
outputB4.Direction = ParameterDirection.Output;
SqlParameter outputD2 = sqlCmd.Parameters.Add("@D2", SqlDbType.Float);
outputD2.Direction = ParameterDirection.Output;
SqlParameter outputD3 = sqlCmd.Parameters.Add("@D3", SqlDbType.Float);
outputD3.Direction = ParameterDirection.Output;
SqlParameter outputD4 = sqlCmd.Parameters.Add("@D4", SqlDbType.Float);
outputD4.Direction = ParameterDirection.Output;
SqlParameter outputE2 = sqlCmd.Parameters.Add("@E2", SqlDbType.Float);
outputE2.Direction = ParameterDirection.Output;
sdba.ExecSPCommand("sp_Capability_GetSettledParam", sqlCmd);
sp.A2 = Convert.ToDecimal(outputA2.Value);//在这个地方再进行转换. 可见sqldbtype中的decimal和C#中的decimal意义不同
sp.A3 = Convert.ToDecimal(outputA3.Value);
sp.B3 = Convert.ToDecimal(outputB3.Value);
sp.B4 = Convert.ToDecimal(outputB4.Value);
sp.D2 = Convert.ToDecimal(outputD2.Value);
sp.D3 = Convert.ToDecimal(outputD3.Value);
sp.D4 = Convert.ToDecimal(outputD4.Value);
sp.E2 = Convert.ToDecimal(outputE2.Value);
return sp;
}
浙公网安备 33010602011771号