I have an error, as I mention in the good title it turns out that I'm doing a webform in c # and when executing it I get that error Here my code:
public void Ordenes(int ID_Orden)
{
conectar();
consulta = "P_SANCHEZ_ORDEN";
comando = new SqlCommand(consulta, conexion);
comando.CommandType = CommandType.StoredProcedure;
comando.Parameters.AddWithValue("@ID_ORDEN",ID_Orden);
comando.Parameters.Add("@FECHAORDEN", SqlDbType.NVarChar,10).Direction = ParameterDirection.Output;
comando.Parameters.Add("@SUB", SqlDbType.Money).Direction = ParameterDirection.Output;
comando.Parameters.Add("@IVA", SqlDbType.Money).Direction = ParameterDirection.Output;
comando.Parameters.Add("@TOTAL", SqlDbType.Money).Direction= ParameterDirection.Output;
comando.Connection.Open(); // Abre la conexion
comando.ExecuteNonQuery(); //Ejecuta
FechaOrden = comando.Parameters["@FECHAORDEN"].Value.ToString();
sub = float.Parse(comando.Parameters["@SUB"].Value.ToString()); <--- En esta línea me marca ese error
IVA = float.Parse(comando.Parameters["@IVA"].Value.ToString());
Total = float.Parse(comando.Parameters["@TOTAL"].Value.ToString());
comando.Connection.Close(); //Cierra
}
Then, according to my teacher, he tells me that it is the SQL in my procedure ... But this one does not mark me any error and when reviewing it, everything works perfectly.
CREATE PROC P_SANCHEZ_ORDEN -- DROP PROC P_SANCHEZ_ORDEN
@ID_ORDEN INT,
@FECHAORDEN NVARCHAR (10) OUTPUT,
@SUB MONEY OUTPUT,
@IVA MONEY OUTPUT,
@TOTAL MONEY OUTPUT
AS
BEGIN
select convert(nvarchar(10),FechaOrden,103) from Ordenes where ID_Orden = @ID_ORDEN
SELECT SUM(TOTALART) FROM V_SANCHEZ_DETALLEORDEN WHERE ID_Orden = @ID_ORDEN
SELECT SUM(TOTALART) *.16 FROM V_SANCHEZ_DETALLEORDEN WHERE ID_Orden = @ID_ORDEN
SELECT SUM(TOTALART)*1.16 FROM V_SANCHEZ_DETALLEORDEN WHERE ID_Orden = @ID_ORDEN
END
Can you help me identify why this error occurs please?