Me enfrento a este problema. Tengo un procedimiento almacenado que devuelve 6 filas cuando lo ejecuto.¿Por qué IDataReader pierde una fila?
Pero cuando estoy recuperando las filas en mi aplicación usando ExecuteReader
, solo devuelve 5 filas. ¿Por qué está perdiendo una fila?
Mi procedimiento almacenado consiste en 5 estados de la Unión que se están llenas de una sola tabla:
dbase.AddInParameter(cmd, "@LoginUser", DbType.String, UserID);
try
{
using (IDataReader dr = dbase.ExecuteReader(cmd))
if (dr.Read())
{
dt = new DataTable("DashBoard");
dt.Load(dr);
}
}
dbase
es mi objeto de base de datos. Y cmd
es el SqlCommand
utilizado para llamar al procedimiento almacenado.
UserID
es parámetro se pasa
almacenados código de procedimiento es:
ALTER PROCEDURE [dbo].[USP_ViewAdminDashBoard](@LoginUser varchar(75))
-- Add the parameters for the stored procedure here
AS
BEGIN
SET NOCOUNT ON;
SET DATEFORMAT DMY;
DECLARE @LastLoginDate as DateTime
Select @LastLoginDate = dbo.UDF_GetLastLoginByUser(@LoginUser)
Select 'Last Login Date', convert(varchar(12),@LastLoginDate,105)
Union
Select 'Nos. Records pending for Upload' as Title, convert(varchar(5),COUNT(s.BatchID)) Total from dbo.BREGISTRATIONENTRY s, Dbo.TBL_iBATCH B
where B.BatchID = s.BatchID And b.Forwarded = 0 and b.isBatchClosed = 1
END
por favor muestre su código. –
Por favor, muéstrenos el procedimiento almacenado también. – Fischermaen