Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2011, 10:35
taelen
 
Fecha de Ingreso: febrero-2009
Mensajes: 56
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta problema obteniendo id de un stored procedure sql

Hola a to2!!!
Necesito obtener el id de una tabla dado una fecha. Para esto tengo un procedimeitno almacenado que llamo desde el codigo, pero no me esta devolviendo nada, existiendo los valores en al BD. Aqui les va el codigo a ver si tienen alguna idea de por que no me esta devolviendo nada cuando si existe esa fecha en la BD:

//el procediemitno almacenado:
create procedure sp_Getdatos
@fecha datetime
as
select IdRec from tb_Recaudacion where fecha = @fecha

//Metodo donde se llama al stored procedure:

DateTime fecha = DateTime.Parse(dgvRecaudaciones.CurrentRow.Cells[8].Value.ToString());
int idR = load.IDRecaudacion(fecha);

//metodo IDRecaudacion(fecha):
public int IDRecaudacion(DateTime fecha)
{
SqlConnection fConnection = new SqlConnection(@"Data Source = MI_ORNENADOR\sqlexpress;Initial Catalog=Recaudacion; Integrated Security=True");
try
{
if (fConnection.State != ConnectionState.Open)
fConnection.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
SqlCommand command = new SqlCommand("[sp_Getdatos]", fConnection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@fecha", SqlDbType.DateTime).Value = fecha;

int id = 0;
try
{
SqlDataReader result = command.ExecuteReader();
if (result.HasRows)
{
result.Read();
id = int.Parse(result["IdRec "].ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

fConnection.Close();
return id;
}


El id me devuelve cero, la fecha que se obtiene del datagridview es de la tabla tb_Recaudacion, y la fecha que le paso como parametro la esta cogiendo bien, por loq ue no se por que, si en la base de datos esa fecha existe, no me devuelve el id correspondiente. Alguno de ustedes tiene idea de que puede estar yendo mal en el codigo?