[ Foro de C# ]
hola, despues de tanto darle vueltas al asunto logre que me busque por fecha, el problema es que me devuelve dos veces el mismo registro y en el lugar de mostrarme la clave foranea me tira application.eee, si tengo mas de un registro con una fecha no me los muestra a todos, me muestra uno solo que lo duplica como 4 veces.,
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
DESDE C# USO LO SIGUENTE
SqlCommand s = new SqlCommand("Execute sp_Buscar_VentaS_porFecha @fecha ", Bdconexion.obtenerconeccion());
s.Parameters.Add("@fecha", SqlDbType.Date, 50).Value = fecha;
SqlDataReader _reader = s.ExecuteReader();
while (_reader.Read())
{
a.Id = _reader.GetInt32(0);
a.FechaVenta = _reader.GetDateTime(1);
a.Clientes.Id = _reader.GetInt32(2);
a.TipoDocumento = _reader.GetString(3);
a.NumeroDocumento = _reader.GetInt32(4);
listafiltrada.Add(a);
}
return listafiltrada;
}
private void btnBuscar_Fecha_Click(object sender, EventArgs e)
{
dgvVentas.DataSource = null;
DateTime DIA= Convert.ToDateTime(TxbBuscarpor.Text);
List<Ventas> LISTA= buscapor(DIA);
dgvVentas.DataSource = LISTA;
}
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
EL CODIGO DEL SP ES
CREATE PROCEDURE [dbo].[sp_Buscar_VentaS_porFecha]
@fecha date
AS
BEGIN
SELECT*FROM Ventas where fecha = @fecha
END
Lo siento, no he usado Stored Procedures desde C#, no puedo ayudarte.
Pero si estás trabajando con visual Studio, pon un punto de interrupción justo donde se abre el "while", que te ayude a comprobar que los valores de las variables son los que tu esperas.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)