14/04/2011, 07:44
|
| | Fecha de Ingreso: febrero-2009
Mensajes: 56
Antigüedad: 15 años, 10 meses Puntos: 0 | |
problema llamandoa stored procedure desde C# Hola a to2!!!
Tengo un metodo en el que se debe actualizar la cantidad total de productos de cada tipo de producto, para esto dentro del metodo llamo a 3 stored procedures, uno que me devuelva todos lso tipos de productos, otro que dado el tipo de producto, em devuelva to2 los productos de ese tipo, y otro que me actualice la cantidad total de cada tipo de producto. Todo esto lo hago con el codigo sgte, el cual me da un error que no se como resolver, me dice que ya hay un datareader abierto asociado a la linea Command1.ExecuteScalar():
public void ActualizarCantidadesTotales()
{
try
{
if (fConnection.State != ConnectionState.Open)
fConnection.Open();
}
catch (Exception ex)
{
throw new TException(TErrorsMessages.ConnectionEstablishFail ed, ex.Message);
}
SqlCommand Command = new SqlCommand("spSelectProductsClasifiers", fConnection);
Command.CommandType = CommandType.StoredProcedure;
SqlDataReader result = Command.ExecuteReader();
while (result.Read())
{
fID = Convert.ToInt32(result["Id"]);
SqlCommand Command1 = new SqlCommand("spTotalAmountOfProductsByProductClasif ier", fConnection);
Command1.CommandType = CommandType.StoredProcedure;
Command1.Parameters.Add("@IDClasificador", SqlDbType.Char).Value = fID;
Command1.Parameters.Add(new SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
Command1.ExecuteScalar(); //aqui es donde me sennala el error
fCantTotal = Convert.ToInt32(Command1.Parameters[1].Value);
SqlCommand Command2 = new SqlCommand("spAddProductsToTotalAmount", fConnection);
Command2.CommandType = CommandType.StoredProcedure;
Command2.Parameters.Add("@TotalAmount", SqlDbType.Char).Value = fCantTotal;
Command2.Parameters.Add("@ID", SqlDbType.Char).Value = fID;
Command2.ExecuteNonQuery();
}
fConnection.Close();
}
Alguno de ustedes sabe que esta mal en mi codigo, si hay que agregar algo o si hay algo incorrecto? |