efectivamente los campos donde recupero y guardo son datetime este es el procedimiento almacenado
Código SQL
[-]
et ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER procedure [dbo].[Frm_ProRellExcRatFillExcRat] (@Dtp_ArrDat datetime, @Dtp_deda datetime, @excrat float)
as
declare
@nconf int, @darrivaldate datetime, @ddeparturedate datetime, @nrenpost int, @nrenpost1 int, @fechaAum datetime
begin
Declare Qry_Busnconf Cursor For
select nconf, darrivaldate, ddeparturedate from reserve
where @Dtp_ArrDat between darrivaldate and ddeparturedate
open Qry_Busnconf
FETCH NEXT from Qry_Busnconf into @nconf, @darrivaldate, @ddeparturedate
while @@fetch_status = 0
begin
Declare Qry_Busnrenpost Cursor For
select nrenpost from posteosgue p, renposteosguecon r
where p.npost=r.npost and nconf=@nconf
and nexcrat is null and dfech=@Dtp_ArrDat
open Qry_Busnrenpost
FETCH NEXT from Qry_Busnrenpost into @nrenpost
while @@fetch_status = 0
begin
--Qry_ModiExcrat
update renposteosguecon set nexcrat=@excrat
where nrenpost=@nrenpost
--Qry_ModiExcrat
FETCH NEXT from Qry_Busnrenpost into @nrenpost
end
close Qry_Busnrenpost
deallocate Qry_Busnrenpost
set @fechaAum= (DATEADD(day, 2, @Dtp_ArrDat))
print @fechaAum
print @ddeparturedate
print '**************'
if @fechaAum=@ddeparturedate
begin
print 'adentro'
print @ddeparturedate
--print '**************'
Declare Qry_Busnrenpost1 Cursor For
select nrenpost from posteosgue p, renposteosguecon r
where p.npost=r.npost and nconf=@nconf
and nexcrat is null and dfech=@ddeparturedate
open Qry_Busnrenpost1
FETCH NEXT from Qry_Busnrenpost1 into @nrenpost1
print @nrenpost1
while @@fetch_status = 0
begin
print @nrenpost1
--Qry_ModiExcrat
update renposteosguecon set nexcrat=@excrat
where nrenpost=@nrenpost1
--Qry_ModiExcrat
FETCH NEXT from Qry_Busnrenpost1 into @nrenpost1
end
close Qry_Busnrenpost1
deallocate Qry_Busnrenpost1
end;
FETCH NEXT from Qry_Busnconf into @nconf, @darrivaldate, @ddeparturedate
end
close Qry_Busnconf
deallocate Qry_Busnconf
end
y lo mando llamar desde delphi con un stored procedured de ado de esta forma
Código Delphi
[-]
SP_FillExcrat.Close;
SP_FillExcrat.Prepared:=true;
SP_FillExcrat.Parameters[1].Value:=FormatDateTime('yyyy,mm,dd',Dtp_ArrDat.date);
SP_FillExcrat.Parameters[2].Value:=FormatDateTime('yyyy,mm,dd',Dtp_DeDa.date);
SP_FillExcrat.Parameters[3].Value:=Md_Gral.Qry_KindChan.fieldbyname('Kind').Value;
SP_FillExcrat.ExecProc;
lo extraño es que las primeras insercciones si las hace de manera correcta pero al llegar al if
Código SQL
[-]
set @fechaAum= (DATEADD(day, 2, @Dtp_ArrDat))
print @fechaAum
print @ddeparturedate
print '**************'
if @fechaAum=@ddeparturedate
begin
si entra pero el cursor no encuentra ningun registro aunque yo los estoy viendo en la base de datos alguna idea de cual pueda ser la razon

gracias por tu tiempo